summaryrefslogtreecommitdiff
path: root/test/parallel/test-worker-non-fatal-uncaught-exception.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/parallel/test-worker-non-fatal-uncaught-exception.js')
-rw-r--r--test/parallel/test-worker-non-fatal-uncaught-exception.js25
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());