test: verify the shell option works properly on execFile
Useful for executing in a shell because it accepts arguments as an array instead of a string as exec does. Depending on the circumstances, that can prove to be useful if the arguments are already prepared. PR-URL: https://github.com/nodejs/node/pull/18384 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This commit is contained in:
parent
71b15e8c7b
commit
6f8de31cde
@ -7,6 +7,7 @@ const { getSystemErrorName } = require('util');
|
|||||||
const fixtures = require('../common/fixtures');
|
const fixtures = require('../common/fixtures');
|
||||||
|
|
||||||
const fixture = fixtures.path('exit.js');
|
const fixture = fixtures.path('exit.js');
|
||||||
|
const execOpts = { encoding: 'utf8', shell: true };
|
||||||
|
|
||||||
{
|
{
|
||||||
execFile(
|
execFile(
|
||||||
@ -39,3 +40,10 @@ const fixture = fixtures.path('exit.js');
|
|||||||
child.kill();
|
child.kill();
|
||||||
child.emit('close', code, null);
|
child.emit('close', code, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
// Verify the shell option works properly
|
||||||
|
execFile(process.execPath, [fixture, 0], execOpts, common.mustCall((err) => {
|
||||||
|
assert.ifError(err);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
@ -29,6 +29,7 @@ const TIMER = 200;
|
|||||||
const SLEEP = 2000;
|
const SLEEP = 2000;
|
||||||
|
|
||||||
const start = Date.now();
|
const start = Date.now();
|
||||||
|
const execOpts = { encoding: 'utf8', shell: true };
|
||||||
let err;
|
let err;
|
||||||
let caught = false;
|
let caught = false;
|
||||||
|
|
||||||
@ -141,3 +142,8 @@ assert.strictEqual(ret, `${msg}\n`);
|
|||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Verify the shell option works properly
|
||||||
|
assert.doesNotThrow(() => {
|
||||||
|
execFileSync(process.execPath, [], execOpts);
|
||||||
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user