node/test/parallel/test-unhandled-exception-rethrow-error.js
Michaël Zasso 508890d795
test: use assert.match instead of regexp.test
PR-URL: https://github.com/nodejs/node/pull/39928
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
2021-08-31 18:50:16 +02:00

29 lines
796 B
JavaScript

'use strict';
require('../common');
if (process.argv[2] === 'child') {
process.on('uncaughtException', (err) => {
err.rethrow = true;
throw err;
});
function throwException() {
throw new Error('boom');
}
throwException();
} else {
const assert = require('assert');
const { spawnSync } = require('child_process');
const result = spawnSync(process.execPath, [__filename, 'child']);
assert.strictEqual(result.status, 7);
assert.strictEqual(result.signal, null);
assert.strictEqual(result.stdout.toString().trim(), '');
// Verify that the error was thrown and that the stack was preserved.
const stderr = result.stderr.toString();
assert.match(stderr, /Error: boom/);
assert.match(stderr, /at throwException/);
assert.match(stderr, /rethrow: true/);
}