Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

child_process: spawn optional process arguments #6103

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 11 additions & 1 deletion lib/child_process.js
Expand Up @@ -696,7 +696,17 @@ exports.execFile = function(file /* args, options, callback */) {
};


var spawn = exports.spawn = function(file, args, options) {
var spawn = exports.spawn = function(file /*, args, options*/) {
var args, options;

if (util.isObject(arguments[1]) && !util.isArray(arguments[1])) {
args = undefined;
options = arguments[1];
} else {
args = arguments[1];
options = arguments[2];
}

args = args ? args.slice(0) : [];
args.unshift(file);

Expand Down
6 changes: 3 additions & 3 deletions test/common.js
Expand Up @@ -67,9 +67,9 @@ exports.spawnCat = function(options) {
var spawn = require('child_process').spawn;

if (process.platform === 'win32') {
return spawn('more', [], options);
return spawn('more', options);
} else {
return spawn('cat', [], options);
return spawn('cat', options);
}
};

Expand All @@ -80,7 +80,7 @@ exports.spawnPwd = function(options) {
if (process.platform === 'win32') {
return spawn('cmd.exe', ['/c', 'cd'], options);
} else {
return spawn('pwd', [], options);
return spawn('pwd', options);
}
};

Expand Down
4 changes: 2 additions & 2 deletions test/disabled/test-child-process-uid-gid.js
Expand Up @@ -57,8 +57,8 @@ if (!otherUid && !otherGid) throw new Error('failed getting passwd info.');

console.error('name, id, gid = %j', [otherName, otherUid, otherGid]);

var whoNumber = spawn('id', [], { uid: otherUid, gid: otherGid });
var whoName = spawn('id', [], { uid: otherName, gid: otherGid });
var whoNumber = spawn('id', { uid: otherUid, gid: otherGid });
var whoName = spawn('id', { uid: otherName, gid: otherGid });

whoNumber.stdout.buf = 'byNumber:';
whoName.stdout.buf = 'byName:';
Expand Down
2 changes: 1 addition & 1 deletion test/simple/test-child-process-env.js
Expand Up @@ -36,7 +36,7 @@ env.__proto__ = {
if (isWindows) {
var child = spawn('cmd.exe', ['/c', 'set'], {env: env});
} else {
var child = spawn('/usr/bin/env', [], {env: env});
var child = spawn('/usr/bin/env', {env: env});
}


Expand Down
2 changes: 1 addition & 1 deletion test/simple/test-stdin-script-child.js
Expand Up @@ -23,7 +23,7 @@ var common = require('../common');
var assert = require('assert');

var spawn = require('child_process').spawn;
var child = spawn(process.execPath, [], {
var child = spawn(process.execPath, {
env: {
NODE_DEBUG: process.argv[2]
}
Expand Down