Skip to content

Commit

Permalink
test: remove envPlus, use Object.assign everywhere
Browse files Browse the repository at this point in the history
PR-URL: nodejs/node#14845
Fixes: nodejs/node#14823
Refs: nodejs/node#14822
Reviewed-By: Refael Ackermann <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Yuta Hiroto <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
  • Loading branch information
gibfahn authored and addaleax committed Sep 5, 2017
1 parent e741e65 commit e8c93b2
Show file tree
Hide file tree
Showing 15 changed files with 37 additions and 39 deletions.
7 changes: 4 additions & 3 deletions test/parallel/test-benchmark-crypto.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ const argv = ['--set', 'algo=sha256',
'--set', 'v=crypto',
'--set', 'writes=1',
'crypto'];
const env = Object.assign({}, process.env,
{ NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
const child = fork(runjs, argv, { env });

const child = fork(runjs, argv, { env: Object.assign({}, process.env, {
NODEJS_BENCHMARK_ZERO_ALLOWED: 1 }) });

child.on('exit', (code, signal) => {
assert.strictEqual(code, 0);
assert.strictEqual(signal, null);
Expand Down
6 changes: 4 additions & 2 deletions test/parallel/test-child-process-env.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,11 @@ Object.setPrototypeOf(env, {

let child;
if (common.isWindows) {
child = spawn('cmd.exe', ['/c', 'set'], { env: env });
child = spawn('cmd.exe', ['/c', 'set'],
Object.assign({}, process.env, { env: env }));
} else {
child = spawn('/usr/bin/env', [], { env: env });
child = spawn('/usr/bin/env', [],
Object.assign({}, process.env, { env: env }));
}


Expand Down
4 changes: 3 additions & 1 deletion test/parallel/test-child-process-exec-env.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ function after(err, stdout, stderr) {
if (!common.isWindows) {
child = exec('/usr/bin/env', { env: { 'HELLO': 'WORLD' } }, after);
} else {
child = exec('set', { env: { 'HELLO': 'WORLD' } }, after);
child = exec('set',
{ env: Object.assign({}, process.env, { 'HELLO': 'WORLD' }) },
after);
}

child.stdout.setEncoding('utf8');
Expand Down
5 changes: 3 additions & 2 deletions test/parallel/test-cli-node-options.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ disallow('--');
disallow('--no_warnings'); // Node options don't allow '_' instead of '-'.

function disallow(opt) {
const options = { env: { NODE_OPTIONS: opt } };
const options = { env: Object.assign({}, process.env,
{ NODE_OPTIONS: opt }) };
exec(process.execPath, options, common.mustCall(function(err) {
const message = err.message.split(/\r?\n/)[1];
const expect = `${process.execPath}: ${opt} is not allowed in NODE_OPTIONS`;
Expand Down Expand Up @@ -71,7 +72,7 @@ function expect(opt, want) {
const printB = require.resolve('../fixtures/printB.js');
const argv = [printB];
const opts = {
env: { NODE_OPTIONS: opt },
env: Object.assign({}, process.env, { NODE_OPTIONS: opt }),
maxBuffer: 1000000000,
};
exec(process.execPath, argv, opts, common.mustCall(function(err, stdout) {
Expand Down
21 changes: 6 additions & 15 deletions test/parallel/test-crypto-fips.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,6 @@ function sharedOpenSSL() {
return process.config.variables.node_shared_openssl;
}

function addToEnv(newVar, value) {
const envCopy = {};
for (const e in process.env) {
envCopy[e] = process.env[e];
}
envCopy[newVar] = value;
return envCopy;
}

function testHelper(stream, args, expectedOutput, cmd, env) {
const fullArgs = args.concat(['-e', `console.log(${cmd})`]);
const child = spawnSync(process.execPath, fullArgs, {
Expand Down Expand Up @@ -72,7 +63,7 @@ testHelper(
[],
FIPS_DISABLED,
'require("crypto").fips',
addToEnv('OPENSSL_CONF', ''));
Object.assign({}, process.env, { 'OPENSSL_CONF': '' }));

// --enable-fips should turn FIPS mode on
testHelper(
Expand Down Expand Up @@ -117,23 +108,23 @@ if (!sharedOpenSSL()) {
[],
compiledWithFips() ? FIPS_ENABLED : FIPS_DISABLED,
'require("crypto").fips',
addToEnv('OPENSSL_CONF', CNF_FIPS_ON));
Object.assign({}, process.env, { 'OPENSSL_CONF': CNF_FIPS_ON }));

// --openssl-config option should override OPENSSL_CONF
testHelper(
'stdout',
[`--openssl-config=${CNF_FIPS_ON}`],
compiledWithFips() ? FIPS_ENABLED : FIPS_DISABLED,
'require("crypto").fips',
addToEnv('OPENSSL_CONF', CNF_FIPS_OFF));
Object.assign({}, process.env, { 'OPENSSL_CONF': CNF_FIPS_OFF }));
}

testHelper(
'stdout',
[`--openssl-config=${CNF_FIPS_OFF}`],
FIPS_DISABLED,
'require("crypto").fips',
addToEnv('OPENSSL_CONF', CNF_FIPS_ON));
Object.assign({}, process.env, { 'OPENSSL_CONF': CNF_FIPS_ON }));

// --enable-fips should take precedence over OpenSSL config file
testHelper(
Expand All @@ -149,7 +140,7 @@ testHelper(
['--enable-fips'],
compiledWithFips() ? FIPS_ENABLED : OPTION_ERROR_STRING,
'require("crypto").fips',
addToEnv('OPENSSL_CONF', CNF_FIPS_OFF));
Object.assign({}, process.env, { 'OPENSSL_CONF': CNF_FIPS_OFF }));

// --force-fips should take precedence over OpenSSL config file
testHelper(
Expand All @@ -165,7 +156,7 @@ testHelper(
['--force-fips'],
compiledWithFips() ? FIPS_ENABLED : OPTION_ERROR_STRING,
'require("crypto").fips',
addToEnv('OPENSSL_CONF', CNF_FIPS_OFF));
Object.assign({}, process.env, { 'OPENSSL_CONF': CNF_FIPS_OFF }));

// setFipsCrypto should be able to turn FIPS mode on
testHelper(
Expand Down
2 changes: 1 addition & 1 deletion test/parallel/test-fs-readfile-error.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const fixtures = require('../common/fixtures');
function test(env, cb) {
const filename = fixtures.path('test-fs-readfile-error.js');
const execPath = `"${process.execPath}" "${filename}"`;
const options = { env: Object.assign(process.env, env) };
const options = { env: Object.assign({}, process.env, env) };
exec(execPath, options, common.mustCall((err, stdout, stderr) => {
assert(err);
assert.strictEqual(stdout, '');
Expand Down
3 changes: 1 addition & 2 deletions test/parallel/test-http-server-stale-close.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
'use strict';
require('../common');
const http = require('http');
const util = require('util');
const fork = require('child_process').fork;

if (process.env.NODE_TEST_FORK_PORT) {
Expand All @@ -45,7 +44,7 @@ if (process.env.NODE_TEST_FORK_PORT) {
});
server.listen(0, function() {
fork(__filename, {
env: util._extend(process.env, {
env: Object.assign({}, process.env, {
NODE_TEST_FORK_PORT: this.address().port
})
});
Expand Down
2 changes: 1 addition & 1 deletion test/parallel/test-icu-data-dir.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const expected =
}

{
const env = { NODE_ICU_DATA: '/' };
const env = Object.assign({}, process.env, { NODE_ICU_DATA: '/' });
const child = spawnSync(process.execPath, ['-e', '0'], { env });
assert(child.stderr.toString().includes(expected));
}
3 changes: 2 additions & 1 deletion test/parallel/test-inspector-open.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ const url = require('url');
if (process.env.BE_CHILD)
return beChild();

const child = fork(__filename, { env: { BE_CHILD: 1 } });
const child = fork(__filename,
{ env: Object.assign({}, process.env, { BE_CHILD: 1 }) });

child.once('message', common.mustCall((msg) => {
assert.strictEqual(msg.cmd, 'started');
Expand Down
11 changes: 6 additions & 5 deletions test/parallel/test-npm-install.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,12 @@ const pkgPath = path.join(installDir, 'package.json');

fs.writeFileSync(pkgPath, pkgContent);

const env = Object.create(process.env);
env['PATH'] = path.dirname(process.execPath);
env['NPM_CONFIG_PREFIX'] = path.join(npmSandbox, 'npm-prefix');
env['NPM_CONFIG_TMP'] = path.join(npmSandbox, 'npm-tmp');
env['HOME'] = path.join(npmSandbox, 'home');
const env = Object.assign({}, process.env, {
PATH: path.dirname(process.execPath),
NPM_CONFIG_PREFIX: path.join(npmSandbox, 'npm-prefix'),
NPM_CONFIG_TMP: path.join(npmSandbox, 'npm-tmp'),
HOME: path.join(npmSandbox, 'home'),
});

exec(`${process.execPath} ${npmPath} install`, {
cwd: installDir,
Expand Down
2 changes: 1 addition & 1 deletion test/parallel/test-pending-deprecation.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ switch (process.argv[2]) {

// Test the NODE_PENDING_DEPRECATION environment var.
fork(__filename, ['env'], {
env: { NODE_PENDING_DEPRECATION: 1 },
env: Object.assign({}, process.env, { NODE_PENDING_DEPRECATION: 1 }),
silent: true
}).on('exit', common.mustCall((code) => {
assert.strictEqual(code, 0, message('NODE_PENDING_DEPRECATION'));
Expand Down
3 changes: 2 additions & 1 deletion test/parallel/test-process-redirect-warnings-env.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ common.refreshTmpDir();
const warnmod = require.resolve(`${common.fixturesDir}/warnings.js`);
const warnpath = path.join(common.tmpDir, 'warnings.txt');

fork(warnmod, { env: { NODE_REDIRECT_WARNINGS: warnpath } })
fork(warnmod, { env: Object.assign({}, process.env,
{ NODE_REDIRECT_WARNINGS: warnpath }) })
.on('exit', common.mustCall(() => {
fs.readFile(warnpath, 'utf8', common.mustCall((err, data) => {
assert.ifError(err);
Expand Down
2 changes: 1 addition & 1 deletion test/parallel/test-repl-envvars.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const tests = [
];

function run(test) {
const env = test.env;
const env = Object.assign({}, process.env, test.env);
const expected = test.expected;
const opts = {
terminal: true,
Expand Down
3 changes: 1 addition & 2 deletions test/parallel/test-require-symlink.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ const assert = require('assert');
const path = require('path');
const fs = require('fs');
const { exec, spawn } = require('child_process');
const util = require('util');
const fixtures = require('../common/fixtures');

common.refreshTmpDir();
Expand Down Expand Up @@ -61,7 +60,7 @@ function test() {

// Also verify that symlinks works for setting preserve via env variables
const childEnv = spawn(node, [linkScript], {
env: util._extend(process.env, { NODE_PRESERVE_SYMLINKS: '1' })
env: Object.assign({}, process.env, { NODE_PRESERVE_SYMLINKS: '1' })
});
childEnv.on('close', function(code, signal) {
assert.strictEqual(code, 0);
Expand Down
2 changes: 1 addition & 1 deletion test/parallel/test-stdin-script-child.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const assert = require('assert');
const { spawn } = require('child_process');
for (const args of [[], ['-']]) {
const child = spawn(process.execPath, args, {
env: Object.assign(process.env, {
env: Object.assign({}, process.env, {
NODE_DEBUG: process.argv[2]
})
});
Expand Down

0 comments on commit e8c93b2

Please sign in to comment.