From 3a618bf9fb9c9f3016d1df9b26d4f35e632d1410 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Mon, 11 Sep 2017 20:52:10 -0400 Subject: [PATCH] test: add test for fork() + shell This commit verifies that the child_process fork() method does not honor the shell option. Refs: https://github.com/nodejs/node/pull/15299 PR-URL: https://github.com/nodejs/node/pull/15352 Reviewed-By: James M Snell Reviewed-By: Luigi Pinca Reviewed-By: Richard Lau --- .../test-child-process-fork-no-shell.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 test/parallel/test-child-process-fork-no-shell.js diff --git a/test/parallel/test-child-process-fork-no-shell.js b/test/parallel/test-child-process-fork-no-shell.js new file mode 100644 index 0000000000..7a085913fb --- /dev/null +++ b/test/parallel/test-child-process-fork-no-shell.js @@ -0,0 +1,20 @@ +'use strict'; +// This test verifies that the shell option is not supported by fork(). +const common = require('../common'); +const assert = require('assert'); +const cp = require('child_process'); +const expected = common.isWindows ? '%foo%' : '$foo'; + +if (process.argv[2] === undefined) { + const child = cp.fork(__filename, [expected], { + shell: true, + env: { foo: 'bar' } + }); + + child.on('exit', common.mustCall((code, signal) => { + assert.strictEqual(code, 0); + assert.strictEqual(signal, null); + })); +} else { + assert.strictEqual(process.argv[2], expected); +}