Browse Source

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 <cjihrig@gmail.com>
process-exit-stdio-flushing
Jeremiah Senkpiel 9 years ago
parent
commit
d6c9f64e98
  1. 19
      test/known_issues/test-stdin-is-always-net.socket.js

19
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;
}));
Loading…
Cancel
Save