1'use strict'; 2const common = require('../common'); 3const assert = require('assert'); 4const vm = require('vm'); 5const { Worker } = require('worker_threads'); 6 7// Do not use isMainThread so that this test itself can be run inside a Worker. 8if (!process.env.HAS_STARTED_WORKER) { 9 process.env.HAS_STARTED_WORKER = 1; 10 const w = new Worker(__filename); 11 w.on('online', common.mustCall(() => { 12 setTimeout(() => w.terminate(), 50); 13 })); 14 w.on('error', common.mustNotCall()); 15 w.on('exit', common.mustCall((code) => assert.strictEqual(code, 1))); 16} else { 17 while (true) 18 vm.runInNewContext(''); 19} 20