if (stdout) return stdout;
var net = module.requireNative('net');
stdout = new net.Stream(process.binding('stdio').stdoutFD);
+
+ stdout.addListener('error', function (err) { throw err; });
+
return stdout;
});
var net = module.requireNative('net');
var fd = process.binding('stdio').openStdin();
stdin = new net.Stream(fd);
+ stdin.addListener('error', function (err) { throw err; });
stdin.resume();
stdin.readable = true;
return stdin;
--- /dev/null
+require('../common');
+
+exec = require('child_process').exec;
+join = require('path').join;
+
+nodePath = process.argv[0];
+script = join(fixturesDir, 'print-10-lines.js');
+
+cmd = nodePath + ' ' + script + ' | head -2';
+
+finished = false;
+
+exec(cmd, function (err, stdout, stderr) {
+ if (err) throw err;
+ lines = stdout.split('\n');
+ assert.equal(3, lines.length);
+ finished = true;
+});
+
+
+process.addListener('exit', function () {
+ assert.ok(finished);
+});