Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions test/parallel/test-crypto-key-store-pkcs11.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ const {
verify,
} = require('crypto');
const tmpdir = require('../common/tmpdir');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');

const { subtle } = globalThis.crypto;
const kData = Buffer.from(
Expand Down Expand Up @@ -65,15 +66,14 @@ function softhsmOptions() {

function runInChild() {
const { cwd, env } = softhsmOptions();
const child = spawnSync(process.execPath, [
spawnSyncAndExitWithoutError(process.execPath, [
`--openssl-config=${kOpenSSLConfig}`,
__filename,
], {
cwd,
env: { ...process.env, ...env, NODE_TEST_PKCS11_CHILD: '1' },
stdio: 'inherit',
});
assert.strictEqual(child.status, 0);
}

function privateKeyUrl(label) {
Expand Down
12 changes: 6 additions & 6 deletions test/parallel/test-experimental-shared-value-conveyor.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
'use strict';
const common = require('../common');
const assert = require('assert');
const { spawnSync } = require('child_process');
const { Worker, parentPort } = require('worker_threads');
const { spawnSyncAndAssert } = require('../common/child_process');

if (process.env.TEST_CHILD_PROCESS === '1') {
// Do not use isMainThread so that this test itself can be run inside a Worker.
Expand All @@ -29,10 +29,10 @@ if (process.env.TEST_CHILD_PROCESS === '1') {

const args = ['--harmony-struct', __filename];
const options = { env: { TEST_CHILD_PROCESS: '1', ...process.env } };
const child = spawnSync(process.execPath, args, options);

assert.strictEqual(child.stderr.toString().trim(), '');
assert.strictEqual(child.stdout.toString().trim(), '');
assert.strictEqual(child.status, 0);
assert.strictEqual(child.signal, null);
spawnSyncAndAssert(process.execPath, args, options, {
stdout: '',
stderr: '',
trim: true
});
}
9 changes: 2 additions & 7 deletions test/parallel/test-heap-prof-basic.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const fixtures = require('../common/fixtures');
common.skipIfInspectorDisabled();

const assert = require('assert');
const { spawnSync } = require('child_process');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');

const tmpdir = require('../common/tmpdir');

Expand All @@ -20,18 +20,13 @@ const {

{
tmpdir.refresh();
const output = spawnSync(process.execPath, [
spawnSyncAndExitWithoutError(process.execPath, [
'--heap-prof',
fixtures.path('workload', 'allocation.js'),
], {
cwd: tmpdir.path,
env
});
if (output.status !== 0) {
console.log(output.stderr.toString());
console.log(output);
}
assert.strictEqual(output.status, 0);
const profiles = getHeapProfiles(tmpdir.path);
assert.strictEqual(profiles.length, 1);
}
8 changes: 2 additions & 6 deletions test/parallel/test-heap-prof-exec-argv.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const fixtures = require('../common/fixtures');
common.skipIfInspectorDisabled();

const assert = require('assert');
const { spawnSync } = require('child_process');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');

const tmpdir = require('../common/tmpdir');

Expand All @@ -20,7 +20,7 @@ const {

{
tmpdir.refresh();
const output = spawnSync(process.execPath, [
const { child: output } = spawnSyncAndExitWithoutError(process.execPath, [
fixtures.path('workload', 'allocation-worker-argv.js'),
], {
cwd: tmpdir.path,
Expand All @@ -29,10 +29,6 @@ const {
HEAP_PROF_INTERVAL: '128'
}
});
if (output.status !== 0) {
console.log(output.stderr.toString());
}
assert.strictEqual(output.status, 0);
const profiles = getHeapProfiles(tmpdir.path);
assert.strictEqual(profiles.length, 1);
verifyFrames(output, profiles[0], 'runAllocation');
Expand Down
9 changes: 2 additions & 7 deletions test/parallel/test-heap-prof-loop-drained.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const fixtures = require('../common/fixtures');
common.skipIfInspectorDisabled();

const assert = require('assert');
const { spawnSync } = require('child_process');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');

const tmpdir = require('../common/tmpdir');

Expand All @@ -21,7 +21,7 @@ const {

{
tmpdir.refresh();
const output = spawnSync(process.execPath, [
const { child: output } = spawnSyncAndExitWithoutError(process.execPath, [
'--heap-prof',
'--heap-prof-interval',
kHeapProfInterval,
Expand All @@ -30,11 +30,6 @@ const {
cwd: tmpdir.path,
env
});
if (output.status !== 0) {
console.log(output.stderr.toString());
console.log(output);
}
assert.strictEqual(output.status, 0);
const profiles = getHeapProfiles(tmpdir.path);
assert.strictEqual(profiles.length, 1);
verifyFrames(output, profiles[0], 'runAllocation');
Expand Down
27 changes: 13 additions & 14 deletions test/parallel/test-inspect-address-in-use.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
const common = require('../common');
common.skipIfInspectorDisabled();

const { spawnSync } = require('child_process');
const { spawnSyncAndExit } = require('../common/child_process');
const { createServer } = require('http');
const assert = require('assert');
const tmpdir = require('../common/tmpdir');
Expand All @@ -25,19 +25,18 @@ function testOnServerListen(fn) {
function testChildProcess(getArgs, exitCode, options) {
testOnServerListen(common.mustCall((server) => {
const { port } = server.address();
const child = spawnSync(process.execPath, getArgs(port), options);
const stderr = child.stderr.toString().trim();
const stdout = child.stdout.toString().trim();
console.log('[STDERR]');
console.log(stderr);
console.log('[STDOUT]');
console.log(stdout);
const match = stderr.match(
/Starting inspector on 127\.0\.0\.1:(\d+) failed: address already in use/
);
assert.notStrictEqual(match, null);
assert.strictEqual(match[1], port + '');
assert.strictEqual(child.status, exitCode);
spawnSyncAndExit(process.execPath, getArgs(port), options, {
status: exitCode,
signal: null,
trim: true,
stderr: function(str) {
const match = str.match(
/Starting inspector on 127\.0\.0\.1:(\d+) failed: address already in use/
);
assert.notStrictEqual(match, null);
assert.strictEqual(match[1], port + '');
},
});
}));
}

Expand Down
6 changes: 2 additions & 4 deletions test/parallel/test-os-homedir-no-envvar.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
'use strict';
const common = require('../common');
const assert = require('assert');
const cp = require('child_process');
const os = require('os');
const path = require('path');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');


if (process.argv[2] === 'child') {
Expand All @@ -22,9 +22,7 @@ if (process.argv[2] === 'child') {
else
delete process.env.HOME;

const child = cp.spawnSync(process.execPath, [__filename, 'child'], {
spawnSyncAndExitWithoutError(process.execPath, [__filename, 'child'], {
env: process.env
});

assert.strictEqual(child.status, 0);
}
10 changes: 5 additions & 5 deletions test/parallel/test-process-execpath.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ if (common.isWindows)
common.skip('symlinks are weird on windows');

const assert = require('assert');
const child_process = require('child_process');
const { spawnSyncAndAssert } = require('../common/child_process');
const fs = require('fs');

assert.strictEqual(process.execPath, fs.realpathSync(process.execPath));
Expand All @@ -19,8 +19,8 @@ if (process.argv[2] === 'child') {
const symlinkedNode = tmpdir.resolve('symlinked-node');
fs.symlinkSync(process.execPath, symlinkedNode);

const proc = child_process.spawnSync(symlinkedNode, [__filename, 'child']);
assert.strictEqual(proc.stderr.toString(), '');
assert.strictEqual(proc.stdout.toString(), `${process.execPath}\n`);
assert.strictEqual(proc.status, 0);
spawnSyncAndAssert(symlinkedNode, [__filename, 'child'], {
stdout: `${process.execPath}\n`,
stderr: ''
});
}
6 changes: 2 additions & 4 deletions test/parallel/test-runner-mock-timers-with-timeout.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
'use strict';
require('../common');
const fixtures = require('../common/fixtures');
const assert = require('node:assert');
const { spawnSync } = require('node:child_process');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');
const { test } = require('node:test');

test('mock timers do not break test timeout cleanup', async () => {
const fixture = fixtures.path('test-runner', 'mock-timers-with-timeout.js');
const cp = spawnSync(process.execPath, ['--test', fixture], {
spawnSyncAndExitWithoutError(process.execPath, ['--test', fixture], {
timeout: 30_000,
});
assert.strictEqual(cp.status, 0, `Test failed:\nstdout: ${cp.stdout}\nstderr: ${cp.stderr}`);
});
7 changes: 3 additions & 4 deletions test/parallel/test-v8-stop-coverage.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ const fixtures = require('../common/fixtures');
const tmpdir = require('../common/tmpdir');
const assert = require('assert');
const fs = require('fs');
const { spawnSync } = require('child_process');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');

common.skipIfInspectorDisabled();

tmpdir.refresh();
const intervals = 20;

{
const output = spawnSync(process.execPath, [
const { child } = spawnSyncAndExitWithoutError(process.execPath, [
'-r',
fixtures.path('v8-coverage', 'stop-coverage'),
'-r',
Expand All @@ -27,8 +27,7 @@ const intervals = 20;
TEST_INTERVALS: intervals
},
});
console.log(output.stderr.toString());
assert.strictEqual(output.status, 0);
console.log(child.stderr.toString());
const coverageFiles = fs.readdirSync(tmpdir.path);
assert.strictEqual(coverageFiles.length, 0);
}
7 changes: 3 additions & 4 deletions test/parallel/test-v8-take-coverage-noop.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const fixtures = require('../common/fixtures');
const tmpdir = require('../common/tmpdir');
const assert = require('assert');
const fs = require('fs');
const { spawnSync } = require('child_process');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');

common.skipIfInspectorDisabled();

Expand All @@ -14,7 +14,7 @@ tmpdir.refresh();
// v8.takeCoverage() should be a noop if NODE_V8_COVERAGE is not set.
const intervals = 40;
{
const output = spawnSync(process.execPath, [
const { child } = spawnSyncAndExitWithoutError(process.execPath, [
'-r',
fixtures.path('v8-coverage', 'take-coverage'),
fixtures.path('v8-coverage', 'interval'),
Expand All @@ -25,8 +25,7 @@ const intervals = 40;
TEST_INTERVALS: intervals
},
});
console.log(output.stderr.toString());
assert.strictEqual(output.status, 0);
console.log(child.stderr.toString());
const coverageFiles = fs.readdirSync(tmpdir.path);
assert.strictEqual(coverageFiles.length, 0);
}
7 changes: 3 additions & 4 deletions test/parallel/test-v8-take-coverage.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ const fixtures = require('../common/fixtures');
const tmpdir = require('../common/tmpdir');
const assert = require('assert');
const fs = require('fs');
const { spawnSync } = require('child_process');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');

common.skipIfInspectorDisabled();

tmpdir.refresh();
const intervals = 40;
// Outputs coverage when v8.takeCoverage() is invoked.
{
const output = spawnSync(process.execPath, [
const { child } = spawnSyncAndExitWithoutError(process.execPath, [
'-r',
fixtures.path('v8-coverage', 'take-coverage'),
fixtures.path('v8-coverage', 'interval'),
Expand All @@ -25,8 +25,7 @@ const intervals = 40;
TEST_INTERVALS: intervals
},
});
console.log(output.stderr.toString());
assert.strictEqual(output.status, 0);
console.log(child.stderr.toString());
const coverageFiles = fs.readdirSync(tmpdir.path);

let coverages = [];
Expand Down
Loading