Browse Source

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>
canary-base
Beth Griggs 8 years ago
committed by Tobias Nießen
parent
commit
c879c9a5c6
  1. 5
      test/parallel/test-benchmark-crypto.js
  2. 5
      test/parallel/test-benchmark-timers.js
  3. 3
      test/parallel/test-env-var-no-warnings.js
  4. 4
      test/parallel/test-tls-env-bad-extra-ca.js
  5. 4
      test/parallel/test-tls-env-extra-ca.js
  6. 23
      test/sequential/test-benchmark-child-process.js
  7. 4
      test/sequential/test-benchmark-net.js

5
test/parallel/test-benchmark-crypto.js

@ -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);

5
test/parallel/test-benchmark-timers.js

@ -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);

3
test/parallel/test-env-var-no-warnings.js

@ -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) => {

4
test/parallel/test-tls-env-bad-extra-ca.js

@ -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,

4
test/parallel/test-tls-env-extra-ca.js

@ -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');

23
test/sequential/test-benchmark-child-process.js

@ -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,
'--set', 'n=1', { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
'--set', 'len=1',
'--set', 'params=1', const child = fork(
'--set', 'methodName=execSync', runjs,
'child_process'], [
{ env: { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 } }); '--set', 'dur=0',
'--set', 'n=1',
'--set', 'len=1',
'--set', 'params=1',
'--set', 'methodName=execSync',
'child_process'
],
{ 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);

4
test/sequential/test-benchmark-net.js

@ -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…
Cancel
Save