@tapjs/node-serialize
Version:
Stream TAP test data as a serialized node:test stream
37 lines • 1.13 kB
JavaScript
import { expandStack } from '@tapjs/stack';
import { locFromCallSite } from './loc-from-callsite.js';
import { resultToError } from './result-to-error.js';
export const testPointResults = (res, t, testNumber) => {
const p = {
name: res.name,
testNumber,
...(res.diag?.at ?
locFromCallSite(res.diag.at)
: locFromCallSite(t.options.at)),
nesting: t.nestingLevel + 1,
details: {
duration_ms: res.time ?? 0,
},
};
if (res.skip)
p.skip = res.skip;
if (res.todo)
p.todo = res.todo;
if (res.ok || res.skip || res.todo)
return p;
const fe = resultToError(res);
// console.error(res, fe)
return {
...p,
details: {
...p.details,
error: Object.assign(new Error(fe.message), {
cause: fe,
code: 'ERR_TEST_FAILURE',
failureType: 'testCodeFailure',
stack: expandStack(res.diag?.stack ?? t.options.stack).trimEnd(),
}),
},
};
};
//# sourceMappingURL=test-point-results.js.map