From 836714ecae04e30773dcd919a6b75059e4e4a1d3 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Wed, 26 Oct 2016 22:12:47 -0400 Subject: [PATCH] test: add child_process customFds test This commit adds a test for spawn()'s deprecated customFds option. PR-URL: https://github.com/nodejs/node/pull/9307 Reviewed-By: Rich Trott Reviewed-By: Santiago Gimeno Reviewed-By: James M Snell --- .../parallel/test-child-process-custom-fds.js | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 test/parallel/test-child-process-custom-fds.js diff --git a/test/parallel/test-child-process-custom-fds.js b/test/parallel/test-child-process-custom-fds.js new file mode 100644 index 00000000000000..2958a6f8070722 --- /dev/null +++ b/test/parallel/test-child-process-custom-fds.js @@ -0,0 +1,33 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); + +// Verify that customFds is used if stdio is not provided. +{ + const msg = 'child_process: options.customFds option is deprecated. ' + + 'Use options.stdio instead.'; + common.expectWarning('DeprecationWarning', msg); + + const customFds = [-1, process.stdout.fd, process.stderr.fd]; + const child = common.spawnSyncPwd({ customFds }); + + assert.deepStrictEqual(child.options.customFds, customFds); + assert.deepStrictEqual(child.options.stdio, [ + { type: 'pipe', readable: true, writable: false }, + { type: 'fd', fd: process.stdout.fd }, + { type: 'fd', fd: process.stderr.fd } + ]); +} + +// Verify that customFds is ignored when stdio is present. +{ + const customFds = [0, 1, 2]; + const child = common.spawnSyncPwd({ customFds, stdio: 'pipe' }); + + assert.deepStrictEqual(child.options.customFds, customFds); + assert.deepStrictEqual(child.options.stdio, [ + { type: 'pipe', readable: true, writable: false }, + { type: 'pipe', readable: false, writable: true }, + { type: 'pipe', readable: false, writable: true } + ]); +}