From ef307bfd17410fb52e241e80392b5876a8aadd27 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Sun, 27 Jan 2019 16:06:30 +0100 Subject: [PATCH] test: add test for `worker.terminate()` + timeout fns PR-URL: https://github.com/nodejs/node/pull/25735 Reviewed-By: Gireesh Punathil Reviewed-By: Colin Ihrig Reviewed-By: James M Snell --- test/parallel/test-worker-terminate-timers.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 test/parallel/test-worker-terminate-timers.js 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(); + })); +}