From dc9f78d2ba9268f47d0166fddf25ef32dc20243c Mon Sep 17 00:00:00 2001 From: Julien Gilli Date: Fri, 19 Dec 2014 19:20:39 -0800 Subject: [PATCH] tests: append instead of override environment Some tests that rely on some environment variables being passed to child processes would fail because they reset the child processes' environement instead of appending to it. This would break on test environments where some custom environment variables are needed to make node work properly. --- test/simple/test-child-process-spawnsync-env.js | 3 ++- test/simple/test-fs-readfile-error.js | 3 ++- test/simple/test-net-GH-5504.js | 5 +++-- test/simple/test-stdin-script-child.js | 5 +++-- test/simple/test-util-debug.js | 3 ++- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/test/simple/test-child-process-spawnsync-env.js b/test/simple/test-child-process-spawnsync-env.js index 0cde9ffeefa..194be8f2fe5 100644 --- a/test/simple/test-child-process-spawnsync-env.js +++ b/test/simple/test-child-process-spawnsync-env.js @@ -22,13 +22,14 @@ var common = require('../common'); var assert = require('assert'); var cp = require('child_process'); +var util = require('util'); if (process.argv[2] === 'child') { console.log(process.env.foo); } else { var expected = 'bar'; var child = cp.spawnSync(process.execPath, [__filename, 'child'], { - env: {foo: expected} + env: util._extend(process.env, {foo: expected}) }); assert.equal(child.stdout.toString().trim(), expected); diff --git a/test/simple/test-fs-readfile-error.js b/test/simple/test-fs-readfile-error.js index 72e1e2e7fb7..67034cd87d0 100644 --- a/test/simple/test-fs-readfile-error.js +++ b/test/simple/test-fs-readfile-error.js @@ -23,13 +23,14 @@ var common = require('../common'); var assert = require('assert'); var exec = require('child_process').exec; var path = require('path'); +var util = require('util'); var callbacks = 0; function test(env, cb) { var filename = path.join(common.fixturesDir, 'test-fs-readfile-error.js'); var execPath = process.execPath + ' ' + filename; - var options = { env: env || {} }; + var options = { env: util._extend(process.env, env || {}) }; exec(execPath, options, function(err, stdout, stderr) { assert(err); assert.equal(stdout, ''); diff --git a/test/simple/test-net-GH-5504.js b/test/simple/test-net-GH-5504.js index 0e87c8210ef..e135581e218 100644 --- a/test/simple/test-net-GH-5504.js +++ b/test/simple/test-net-GH-5504.js @@ -21,6 +21,7 @@ var common = require('../common'); var assert = require('assert'); +var util = require('util'); // this test only fails with CentOS 6.3 using kernel version 2.6.32 // On other linuxes and darwin, the `read` call gets an ECONNRESET in @@ -74,10 +75,10 @@ function parent() { var clientExited = false; var serverListened = false; var opt = { - env: { + env: util._extend(process.env, { NODE_DEBUG: 'net', NODE_COMMON_PORT: process.env.NODE_COMMON_PORT, - } + }) }; process.on('exit', function() { diff --git a/test/simple/test-stdin-script-child.js b/test/simple/test-stdin-script-child.js index e940c3c3f3b..50af591a4eb 100644 --- a/test/simple/test-stdin-script-child.js +++ b/test/simple/test-stdin-script-child.js @@ -21,12 +21,13 @@ var common = require('../common'); var assert = require('assert'); +var util = require('util'); var spawn = require('child_process').spawn; var child = spawn(process.execPath, [], { - env: { + env: util._extend(process.env, { NODE_DEBUG: process.argv[2] - } + }) }); var wanted = child.pid + '\n'; var found = ''; diff --git a/test/simple/test-util-debug.js b/test/simple/test-util-debug.js index 6d9c28a95a6..896e46f2c0f 100644 --- a/test/simple/test-util-debug.js +++ b/test/simple/test-util-debug.js @@ -21,6 +21,7 @@ var common = require('../common'); var assert = require('assert'); +var util = require('util'); if (process.argv[2] === 'child') child(); @@ -47,7 +48,7 @@ function test(environ, shouldWrite) { var spawn = require('child_process').spawn; var child = spawn(process.execPath, [__filename, 'child'], { - env: { NODE_DEBUG: environ } + env: util._extend(process.env, { NODE_DEBUG: environ }) }); expectErr = expectErr.split('%PID%').join(child.pid);