node/test/parallel/test-throw-error-with-gette...

28 lines
773 B
JavaScript

import { spawnPromisified } from '../common/index.mjs';
import assert from 'node:assert';
import { execPath } from 'node:process';
import { describe, it } from 'node:test';
describe('--trace-uncaught', () => {
it('prints a trace on process exit for uncaught errors', async () => {
const { code, signal, stderr } = await spawnPromisified(execPath, [
'--trace-uncaught',
'--eval',
`throw {
get stack() {
throw new Error('weird throw but ok');
},
get name() {
throw new Error('weird throw but ok');
},
};`,
]);
assert.match(stderr, /^Thrown at:$/m);
assert.match(stderr, /^ {4}at \[eval\]:1:1$/m);
assert.strictEqual(code, 1);
assert.strictEqual(signal, null);
});
});