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>
This commit is contained in:
Anna Henningsen 2019-01-27 16:06:30 +01:00
parent d56212e6ef
commit ef307bfd17
No known key found for this signature in database
GPG Key ID: 9C63F3A6CD2AD8F9

View File

@ -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();
}));
}