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