Browse Source

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.

Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
v0.11.15-release
Julien Gilli 10 years ago
parent
commit
e64ee2b3f7
  1. 3
      test/simple/test-child-process-spawnsync-env.js
  2. 3
      test/simple/test-fs-readfile-error.js
  3. 5
      test/simple/test-net-GH-5504.js
  4. 5
      test/simple/test-stdin-script-child.js
  5. 3
      test/simple/test-util-debug.js

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

3
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, '');

5
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() {

5
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 = '';

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

Loading…
Cancel
Save