From aea9a0f77da6a14d4fee2b21b0f4a6a813a01e70 Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Wed, 25 Sep 2019 14:51:18 +0200 Subject: worker: fix process._fatalException return type This makes sure `process._fatalException()` returns a boolean when run inside of a worker. PR-URL: https://github.com/nodejs/node/pull/29706 Reviewed-By: Anna Henningsen Reviewed-By: David Carlier Reviewed-By: James M Snell Reviewed-By: Luigi Pinca Reviewed-By: Minwoo Jung --- .../test-worker-non-fatal-uncaught-exception.js | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/parallel/test-worker-non-fatal-uncaught-exception.js (limited to 'test') diff --git a/test/parallel/test-worker-non-fatal-uncaught-exception.js b/test/parallel/test-worker-non-fatal-uncaught-exception.js new file mode 100644 index 0000000000..01df55eec1 --- /dev/null +++ b/test/parallel/test-worker-non-fatal-uncaught-exception.js @@ -0,0 +1,25 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const { Worker } = require('worker_threads'); + +// Check that `process._fatalException()` returns a boolean when run inside a +// worker. + +// Do not use isMainThread so that this test itself can be run inside a Worker. +if (!process.env.HAS_STARTED_WORKER) { + process.env.HAS_STARTED_WORKER = 1; + const w = new Worker(__filename); + w.on('exit', common.mustCall((code) => { + assert.strictEqual(code, 0); + })); + return; +} + +process.once('uncaughtException', () => { + process.nextTick(() => { + assert.strictEqual(res, true); + }); +}); + +const res = process._fatalException(new Error()); -- cgit v1.2.3