From abd3ecfbd196c65835d13473d479827b6bce424b Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Thu, 5 Mar 2015 03:11:06 +0100 Subject: [PATCH] win,test: fix test-stdin-from-file The test-stdin-from-from-file test runs a subprocess that verifies stdin can be piped from a file. The subprocess additionally attempts to verify that the file descriptor for stdin never gets closed. It used to do this by creating a TCP server and asserting that the associated file descriptor is greater than two. However this strategy doesn't work on windows, because servers don't have an associated file descriptor. With this patch an ordinary file is opened instead of creating a server. PR: https://github.com/iojs/io.js/pull/1067 Reviewed-By: Fedor Indutny Reviewed-By: Rod Vagg Reviewed-By: Nikolai Vavilov --- test/fixtures/echo-close-check.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/test/fixtures/echo-close-check.js b/test/fixtures/echo-close-check.js index c71b63ec901ae8..57b2af95672a24 100644 --- a/test/fixtures/echo-close-check.js +++ b/test/fixtures/echo-close-check.js @@ -1,6 +1,7 @@ var common = require('../common'); var assert = require('assert'); var net = require('net'); +var fs = require('fs'); process.stdout.write('hello world\r\n'); @@ -11,10 +12,8 @@ stdin.on('data', function(data) { }); stdin.on('end', function() { - // If stdin's fd will be closed - createServer may get it - var server = net.createServer(function() { - }).listen(common.PORT, function() { - assert(typeof server._handle.fd !== 'number' || server._handle.fd > 2); - server.close(); - }); + // If stdin's fd was closed, the next open() call would return 0. + var fd = fs.openSync(process.argv[1], 'r'); + assert(fd > 2); + fs.closeSync(fd); });