summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-01-27 16:06:30 +0100
committerAnna Henningsen <anna@addaleax.net>2019-01-29 19:20:13 +0100
commitef307bfd17410fb52e241e80392b5876a8aadd27 (patch)
treeccfea4d7a61b6461de9436a9c68724964dd38782 /test
parentd56212e6ef15851c5417cbe011144dba4b92a994 (diff)
downloadandroid-node-v8-ef307bfd17410fb52e241e80392b5876a8aadd27.tar.gz
android-node-v8-ef307bfd17410fb52e241e80392b5876a8aadd27.tar.bz2
android-node-v8-ef307bfd17410fb52e241e80392b5876a8aadd27.zip
test: add test for `worker.terminate()` + timeout fns
PR-URL: https://github.com/nodejs/node/pull/25735 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-worker-terminate-timers.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/parallel/test-worker-terminate-timers.js b/test/parallel/test-worker-terminate-timers.js
new file mode 100644
index 0000000000..62360a6cdb
--- /dev/null
+++ b/test/parallel/test-worker-terminate-timers.js
@@ -0,0 +1,18 @@
+'use strict';
+const common = require('../common');
+const { Worker } = require('worker_threads');
+
+// Test that calling .terminate() during a timer callback works fine.
+
+for (const fn of ['setTimeout', 'setImmediate', 'setInterval']) {
+ const worker = new Worker(`
+ const { parentPort } = require('worker_threads');
+ ${fn}(() => {
+ require('worker_threads').parentPort.postMessage({});
+ while (true);
+ });`, { eval: true });
+
+ worker.on('message', common.mustCallAtLeast(() => {
+ worker.terminate();
+ }));
+}