| 'use strict'; |
| |
| const common = require('../common'); |
| const fixtures = require('../common/fixtures'); |
| const { Worker, isMainThread, parentPort } = require('worker_threads'); |
| const assert = require('assert'); |
| const { createRequire } = require('module'); |
| |
| const loadFixture = createRequire(fixtures.path('node_modules')); |
| |
| if (isMainThread) { |
| const tests = [[], ['--no-addons']]; |
| |
| for (const execArgv of tests) { |
| const worker = new Worker(__filename, { execArgv }); |
| |
| worker.on('message', common.mustCall((message) => { |
| if (execArgv.length === 0) { |
| assert.strictEqual(message, 'using native addons'); |
| } else { |
| assert.strictEqual(message, 'not using native addons'); |
| } |
| })); |
| } |
| |
| } else { |
| const message = loadFixture('pkgexports/no-addons'); |
| parentPort.postMessage(message); |
| } |