From bd3dc9d1c3e883ad70fcf40270bc6f14d0951ea7 Mon Sep 17 00:00:00 2001 From: Matheus Marchini Date: Tue, 29 May 2018 09:36:57 -0300 Subject: [PATCH 1/2] test: fix flaky test-child-process-fork-net Patch inspired on 397eceb6d8eae723c0edc5a9050c72b6ce98d71c to fix flakyness on test-child-process-fork-net. Ref: https://github.com/nodejs/node/pull/20973 --- test/parallel/test-child-process-fork-net.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/parallel/test-child-process-fork-net.js b/test/parallel/test-child-process-fork-net.js index cfc8f564d2a03a..aef5e654feee6b 100644 --- a/test/parallel/test-child-process-fork-net.js +++ b/test/parallel/test-child-process-fork-net.js @@ -175,7 +175,10 @@ if (process.argv[2] === 'child') { connect.on('close', function() { console.log('CLIENT: closed'); assert.strictEqual(store, 'echo'); - server.close(); + server.close((err) => { + if (err && err.code !== 'EPIPE') + throw err; + }); }); }); } From db678bbdbce6bc3bbdf542b959e342108247d1fa Mon Sep 17 00:00:00 2001 From: Matheus Marchini Date: Tue, 29 May 2018 15:21:19 -0300 Subject: [PATCH 2/2] fixup! test: fix flaky test-child-process-fork-net --- test/parallel/test-child-process-fork-net.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/parallel/test-child-process-fork-net.js b/test/parallel/test-child-process-fork-net.js index aef5e654feee6b..7646cb5926305d 100644 --- a/test/parallel/test-child-process-fork-net.js +++ b/test/parallel/test-child-process-fork-net.js @@ -158,6 +158,11 @@ if (process.argv[2] === 'child') { console.log('PARENT: server closed'); callback(); }); + server.on('error', (err) => { + if (err && err.code !== 'EPIPE') { + throw err; + } + }); // Don't listen on the same port, because SmartOS sometimes says // that the server's fd is closed, but it still cannot listen // on the same port again. @@ -176,8 +181,9 @@ if (process.argv[2] === 'child') { console.log('CLIENT: closed'); assert.strictEqual(store, 'echo'); server.close((err) => { - if (err && err.code !== 'EPIPE') + if (err && err.code !== 'EPIPE') { throw err; + } }); }); });