test: preserve env in test cases
Allows env vars to be passed through to child processes. This is needed for things like NODE_TEST_DIR or LD_LIBRARY_PATH if testing the shared library. PR-URL: https://github.com/nodejs/node/pull/14822 Refs: https://github.com/nodejs/node/pull/13390 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
2710616d53
commit
c879c9a5c6
@ -26,8 +26,9 @@ const argv = ['--set', 'algo=sha256',
|
|||||||
'--set', 'v=crypto',
|
'--set', 'v=crypto',
|
||||||
'--set', 'writes=1',
|
'--set', 'writes=1',
|
||||||
'crypto'];
|
'crypto'];
|
||||||
|
const env = Object.assign({}, process.env,
|
||||||
const child = fork(runjs, argv, { env: { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 } });
|
{ NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
|
||||||
|
const child = fork(runjs, argv, { env });
|
||||||
child.on('exit', (code, signal) => {
|
child.on('exit', (code, signal) => {
|
||||||
assert.strictEqual(code, 0);
|
assert.strictEqual(code, 0);
|
||||||
assert.strictEqual(signal, null);
|
assert.strictEqual(signal, null);
|
||||||
|
@ -15,7 +15,10 @@ const argv = ['--set', 'type=depth',
|
|||||||
'--set', 'thousands=0.001',
|
'--set', 'thousands=0.001',
|
||||||
'timers'];
|
'timers'];
|
||||||
|
|
||||||
const child = fork(runjs, argv, { env: { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 } });
|
const env = Object.assign({}, process.env,
|
||||||
|
{ NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
|
||||||
|
|
||||||
|
const child = fork(runjs, argv, { env });
|
||||||
child.on('exit', (code, signal) => {
|
child.on('exit', (code, signal) => {
|
||||||
assert.strictEqual(code, 0);
|
assert.strictEqual(code, 0);
|
||||||
assert.strictEqual(signal, null);
|
assert.strictEqual(signal, null);
|
||||||
|
@ -6,7 +6,8 @@ const cp = require('child_process');
|
|||||||
if (process.argv[2] === 'child') {
|
if (process.argv[2] === 'child') {
|
||||||
process.emitWarning('foo');
|
process.emitWarning('foo');
|
||||||
} else {
|
} else {
|
||||||
function test(env) {
|
function test(newEnv) {
|
||||||
|
const env = Object.assign({}, process.env, newEnv);
|
||||||
const cmd = `"${process.execPath}" "${__filename}" child`;
|
const cmd = `"${process.execPath}" "${__filename}" child`;
|
||||||
|
|
||||||
cp.exec(cmd, { env }, common.mustCall((err, stdout, stderr) => {
|
cp.exec(cmd, { env }, common.mustCall((err, stdout, stderr) => {
|
||||||
|
@ -15,10 +15,10 @@ if (process.env.CHILD) {
|
|||||||
return tls.createServer({});
|
return tls.createServer({});
|
||||||
}
|
}
|
||||||
|
|
||||||
const env = {
|
const env = Object.assign({}, process.env, {
|
||||||
CHILD: 'yes',
|
CHILD: 'yes',
|
||||||
NODE_EXTRA_CA_CERTS: `${common.fixturesDir}/no-such-file-exists`,
|
NODE_EXTRA_CA_CERTS: `${common.fixturesDir}/no-such-file-exists`,
|
||||||
};
|
});
|
||||||
|
|
||||||
const opts = {
|
const opts = {
|
||||||
env: env,
|
env: env,
|
||||||
|
@ -32,11 +32,11 @@ const server = tls.createServer(options, common.mustCall(function(s) {
|
|||||||
s.end('bye');
|
s.end('bye');
|
||||||
server.close();
|
server.close();
|
||||||
})).listen(0, common.mustCall(function() {
|
})).listen(0, common.mustCall(function() {
|
||||||
const env = {
|
const env = Object.assign({}, process.env, {
|
||||||
CHILD: 'yes',
|
CHILD: 'yes',
|
||||||
PORT: this.address().port,
|
PORT: this.address().port,
|
||||||
NODE_EXTRA_CA_CERTS: fixtures.path('keys', 'ca1-cert.pem')
|
NODE_EXTRA_CA_CERTS: fixtures.path('keys', 'ca1-cert.pem')
|
||||||
};
|
});
|
||||||
|
|
||||||
fork(__filename, { env: env }).on('exit', common.mustCall(function(status) {
|
fork(__filename, { env: env }).on('exit', common.mustCall(function(status) {
|
||||||
assert.strictEqual(status, 0, 'client did not succeed in connecting');
|
assert.strictEqual(status, 0, 'client did not succeed in connecting');
|
||||||
|
@ -8,13 +8,22 @@ const path = require('path');
|
|||||||
|
|
||||||
const runjs = path.join(__dirname, '..', '..', 'benchmark', 'run.js');
|
const runjs = path.join(__dirname, '..', '..', 'benchmark', 'run.js');
|
||||||
|
|
||||||
const child = fork(runjs, ['--set', 'dur=0',
|
const env = Object.assign({}, process.env,
|
||||||
|
{ NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
|
||||||
|
|
||||||
|
const child = fork(
|
||||||
|
runjs,
|
||||||
|
[
|
||||||
|
'--set', 'dur=0',
|
||||||
'--set', 'n=1',
|
'--set', 'n=1',
|
||||||
'--set', 'len=1',
|
'--set', 'len=1',
|
||||||
'--set', 'params=1',
|
'--set', 'params=1',
|
||||||
'--set', 'methodName=execSync',
|
'--set', 'methodName=execSync',
|
||||||
'child_process'],
|
'child_process'
|
||||||
{ env: { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 } });
|
],
|
||||||
|
{ env }
|
||||||
|
);
|
||||||
|
|
||||||
child.on('exit', (code, signal) => {
|
child.on('exit', (code, signal) => {
|
||||||
assert.strictEqual(code, 0);
|
assert.strictEqual(code, 0);
|
||||||
assert.strictEqual(signal, null);
|
assert.strictEqual(signal, null);
|
||||||
|
@ -15,12 +15,14 @@ const path = require('path');
|
|||||||
|
|
||||||
const runjs = path.join(__dirname, '..', '..', 'benchmark', 'run.js');
|
const runjs = path.join(__dirname, '..', '..', 'benchmark', 'run.js');
|
||||||
|
|
||||||
|
const env = Object.assign({}, process.env,
|
||||||
|
{ NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
|
||||||
const child = fork(runjs,
|
const child = fork(runjs,
|
||||||
['--set', 'dur=0',
|
['--set', 'dur=0',
|
||||||
'--set', 'len=1024',
|
'--set', 'len=1024',
|
||||||
'--set', 'type=buf',
|
'--set', 'type=buf',
|
||||||
'net'],
|
'net'],
|
||||||
{ env: { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 } });
|
{ env });
|
||||||
child.on('exit', (code, signal) => {
|
child.on('exit', (code, signal) => {
|
||||||
assert.strictEqual(code, 0);
|
assert.strictEqual(code, 0);
|
||||||
assert.strictEqual(signal, null);
|
assert.strictEqual(signal, null);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user