From d8c4ecea0b03a4524eda172dfd7f08992c1538c8 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Mon, 19 Mar 2012 17:12:49 +0100 Subject: [PATCH] test: fix race in simple/test-cluster-master-error Said test checks that the workers shut down when the master errors but it failed intermittently. Insert a small delay before doing the 'is dead?' check to give the workers a chance to shut down. --- test/simple/test-cluster-master-error.js | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/test/simple/test-cluster-master-error.js b/test/simple/test-cluster-master-error.js index a9b9896179..5e0e3fac60 100644 --- a/test/simple/test-cluster-master-error.js +++ b/test/simple/test-cluster-master-error.js @@ -112,16 +112,21 @@ if (cluster.isWorker) { // Check that the cluster died accidently existMaster = (code === 1); - // When master is dead all workers should be dead to - var alive = false; - workers.forEach(function(pid) { - if (isAlive(pid)) { - alive = true; - } - }); + // Give the workers time to shut down + setTimeout(checkWorkers, 200); + + function checkWorkers() { + // When master is dead all workers should be dead to + var alive = false; + workers.forEach(function(pid) { + if (isAlive(pid)) { + alive = true; + } + }); - // If a worker was alive this did not act as expected - existWorker = !alive; + // If a worker was alive this did not act as expected + existWorker = !alive; + } }); process.once('exit', function() {