1'use strict'; 2 3const common = require('../common'); 4const fixtures = require('../common/fixtures'); 5const { Worker, isMainThread, parentPort } = require('worker_threads'); 6const assert = require('assert'); 7const { createRequire } = require('module'); 8 9const loadFixture = createRequire(fixtures.path('node_modules')); 10 11if (isMainThread) { 12 const tests = [[], ['--no-addons']]; 13 14 for (const execArgv of tests) { 15 const worker = new Worker(__filename, { execArgv }); 16 17 worker.on( 18 'message', 19 common.mustCall((message) => { 20 if (execArgv.length === 0) { 21 assert.strictEqual(message, 'using native addons'); 22 } else { 23 assert.strictEqual(message, 'not using native addons'); 24 } 25 }) 26 ); 27 } 28} else { 29 const message = loadFixture('pkgexports/no-addons'); 30 parentPort.postMessage(message); 31} 32