From d6c9f64e98092bbca41209bb1babe22bee64be42 Mon Sep 17 00:00:00 2001 From: Jeremiah Senkpiel Date: Mon, 28 Mar 2016 11:24:34 -0400 Subject: [PATCH] test: stdin is not always a net.Socket `<`-ing a file into stdin actually results in a `fs.ReadStream`, rather than a `tty.ReadStream`, and as such does not inherit from net.Socket, unlike the other possible stdin options. Refs: https://github.com/nodejs/node/pull/5916 PR-URL: https://github.com/nodejs/node/pull/5935 Reviewed-By: Colin Ihrig --- .../test-stdin-is-always-net.socket.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 test/known_issues/test-stdin-is-always-net.socket.js diff --git a/test/known_issues/test-stdin-is-always-net.socket.js b/test/known_issues/test-stdin-is-always-net.socket.js new file mode 100644 index 00000000000000..a0c5c63198dbde --- /dev/null +++ b/test/known_issues/test-stdin-is-always-net.socket.js @@ -0,0 +1,19 @@ +'use strict'; +// Refs: https://github.com/nodejs/node/pull/5916 + +const common = require('../common'); +const assert = require('assert'); +const spawn = require('child_process').spawn; +const net = require('net'); + +if (process.argv[2] === 'child') { + assert(process.stdin instanceof net.Socket); + return; +} + +const proc = spawn(process.execPath, [__filename, 'child'], { stdio: 'ignore' }); +// To double-check this test, set stdio to 'pipe' and uncomment the line below. +// proc.stderr.pipe(process.stderr); +proc.on('exit', common.mustCall(function(exitCode) { + process.exitCode = exitCode; +}));