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('message', common.mustCall((message) => { 18 if (execArgv.length === 0) { 19 assert.strictEqual(message, 'using native addons'); 20 } else { 21 assert.strictEqual(message, 'not using native addons'); 22 } 23 })); 24 } 25 26} else { 27 const message = loadFixture('pkgexports/no-addons'); 28 parentPort.postMessage(message); 29} 30