From c3c9dbee75eb6e7c1cb7df32a4fd8a55ba1f1e77 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 083536271fe9b7..6419ef34a2f6fb 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(); });