node/test/parallel/test-child-process-cwd.js
Rich Trott 2b1999b7c7 test: remove unused vars in ChildProcess tests
In addition to removing unused vars, this also fixes an instance where
booleans were set presumably to check something but then never used.
This now confirms that the events that were setting the booleans are
fired.

PR-URL: https://github.com/nodejs/node/pull/4425
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-12-29 09:09:35 -08:00

73 lines
1.6 KiB
JavaScript

'use strict';
var common = require('../common');
var assert = require('assert');
var returns = 0;
/*
Spawns 'pwd' with given options, then test
- whether the exit code equals forCode,
- optionally whether the stdout result matches forData
(after removing traling whitespace)
*/
function testCwd(options, forCode, forData) {
var data = '';
var child = common.spawnPwd(options);
child.stdout.setEncoding('utf8');
child.stdout.on('data', function(chunk) {
data += chunk;
});
child.on('exit', function(code, signal) {
assert.strictEqual(forCode, code);
});
child.on('close', function() {
forData && assert.strictEqual(forData, data.replace(/[\s\r\n]+$/, ''));
returns--;
});
returns++;
return child;
}
// Assume these exist, and 'pwd' gives us the right directory back
if (common.isWindows) {
testCwd({cwd: process.env.windir}, 0, process.env.windir);
testCwd({cwd: 'c:\\'}, 0, 'c:\\');
} else {
testCwd({cwd: '/dev'}, 0, '/dev');
testCwd({cwd: '/'}, 0, '/');
}
// Assume does-not-exist doesn't exist, expect exitCode=-1 and errno=ENOENT
(function() {
var errors = 0;
testCwd({cwd: 'does-not-exist'}, -1).on('error', function(e) {
assert.equal(e.code, 'ENOENT');
errors++;
});
process.on('exit', function() {
assert.equal(errors, 1);
});
})();
// Spawn() shouldn't try to chdir() so this should just work
testCwd(undefined, 0);
testCwd({}, 0);
testCwd({cwd: ''}, 0);
testCwd({cwd: undefined}, 0);
testCwd({cwd: null}, 0);
// Check whether all tests actually returned
assert.notEqual(0, returns);
process.on('exit', function() {
assert.equal(0, returns);
});