Files
node/test/parallel/test-worker-execargv.js
Antoine du Hamel 4451309e99 test: add lint rule to forbid use of assert.ok(/regex/.test(…))
PR-URL: https://github.com/nodejs/node/pull/60832
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-11-25 21:25:47 +01:00

33 lines
1.1 KiB
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
// This test ensures that Workers have the ability to get
// their own command line flags.
const { Worker } = require('worker_threads');
const { StringDecoder } = require('string_decoder');
const decoder = new StringDecoder('utf8');
// Do not use isMainThread so that this test itself can be run inside a Worker.
if (!process.env.HAS_STARTED_WORKER) {
process.env.HAS_STARTED_WORKER = 1;
const w = new Worker(__filename, { execArgv: ['--trace-warnings'] });
w.stderr.on('data', common.mustCall((chunk) => {
assert.match(
decoder.write(chunk),
/Warning: some warning[\s\S]*at Object\.<anonymous>/,
);
}));
new Worker(
"require('worker_threads').parentPort.postMessage(process.execArgv)",
{ eval: true, execArgv: ['--trace-warnings'] })
.on('message', common.mustCall((data) => {
assert.deepStrictEqual(data, ['--trace-warnings']);
}));
} else {
process.emitWarning('some warning');
assert.deepStrictEqual(process.execArgv, ['--trace-warnings']);
}