From 8301773c1efad30f0acdcaed49e42737dd6bb390 Mon Sep 17 00:00:00 2001 From: Santiago Gimeno Date: Sat, 6 Feb 2016 16:19:03 +0100 Subject: [PATCH] test: fix child-process-fork-regr-gh-2847 The test would sometimes time out on some platforms. Take the initial version of the test and instead of sending 100 handles, just send 2. It still fails when run with the code before the change was introduced and passes afterwards. Remove test from parallel.status. PR-URL: https://github.com/nodejs/node/pull/5121 Reviewed-By: Brian White Reviewed-By: Rich Trott Reviewed-By: Michael Dawson Fixes: https://github.com/nodejs/node/issues/3635 --- test/parallel/parallel.status | 1 - .../test-child-process-fork-regr-gh-2847.js | 35 ++----------------- 2 files changed, 3 insertions(+), 33 deletions(-) diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status index 9ff3a58fc40820..3d1bfa20b3c69f 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -13,7 +13,6 @@ test-tick-processor : PASS,FLAKY [$system==linux] test-tick-processor : PASS,FLAKY -test-child-process-fork-regr-gh-2847 : PASS,FLAKY [$system==macos] diff --git a/test/parallel/test-child-process-fork-regr-gh-2847.js b/test/parallel/test-child-process-fork-regr-gh-2847.js index 78856cb55edebc..ad056426428c0d 100644 --- a/test/parallel/test-child-process-fork-regr-gh-2847.js +++ b/test/parallel/test-child-process-fork-regr-gh-2847.js @@ -6,9 +6,6 @@ const assert = require('assert'); const cluster = require('cluster'); const net = require('net'); -var connectcount = 0; -var sendcount = 0; - if (!cluster.isMaster) { // Exit on first received handle to leave the queue non-empty in master process.on('message', function() { @@ -18,13 +15,6 @@ if (!cluster.isMaster) { } var server = net.createServer(function(s) { - if (common.isWindows) { - s.on('error', function(err) { - // Prevent possible ECONNRESET errors from popping up - if (err.code !== 'ECONNRESET' || sendcount === 0) - throw err; - }); - } setTimeout(function() { s.destroy(); }, 100); @@ -34,21 +24,6 @@ var server = net.createServer(function(s) { function send(callback) { var s = net.connect(common.PORT, function() { worker.send({}, s, callback); - connectcount++; - }); - - // Errors can happen if the connections - // are still happening while the server has been closed. - // This can happen depending on how the messages are - // bundled into packets. If they all make it into the first - // one then no errors will occur, otherwise the server - // may have been closed by the time the later ones make - // it to the server side. - // We ignore any errors that occur after some connections - // get through - s.on('error', function(err) { - if (connectcount < 3) - console.log(err); }); } @@ -58,11 +33,7 @@ var server = net.createServer(function(s) { server.close(); })); - // Queue up several handles, to make `process.disconnect()` wait - for (var i = 0; i < 100; i++) - send(function(err) { - if (err && sendcount < 3) - console.log(err); - sendcount++; - }); + // Send 2 handles to make `process.disconnect()` wait + send(); + send(); });