• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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