spawnSync() modifies the options argument. This commit makes
a copy of options before any modifications occur.
Fixes: https://github.com/iojs/io.js/issues/576
PR-URL: https://github.com/iojs/io.js/pull/579
Reviewed-By: Bert Belder <bertbelder@gmail.com>
else if (!util.isObject(options))
throw new TypeError('options argument must be an object');
+ options = util._extend({}, options);
args.unshift(file);
var env = options.env || process.env;
};
+exports.spawnSyncCat = function(options) {
+ var spawnSync = require('child_process').spawnSync;
+
+ if (process.platform === 'win32') {
+ return spawnSync('more', [], options);
+ } else {
+ return spawnSync('cat', [], options);
+ }
+};
+
+
exports.spawnPwd = function(options) {
var spawn = require('child_process').spawn;
assert.equal(child.stdout, null);
assert.equal(child.stderr, null);
+
+options = {stdio: 'ignore'};
+child = common.spawnSyncCat(options);
+assert.deepEqual(options, {stdio: 'ignore'});