| 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); |
| }); |
| }); |