diff options
Diffstat (limited to 'test/parallel/test-worker-non-fatal-uncaught-exception.js')
-rw-r--r-- | test/parallel/test-worker-non-fatal-uncaught-exception.js | 25 |
1 files changed, 25 insertions, 0 deletions
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()); |