diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status index 4bcb1e77edbb7c..89f6e830ddbf76 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -34,8 +34,6 @@ test-crypto-dh-stateless: SKIP test-crypto-keygen: SKIP [$system==solaris] # Also applies to SmartOS -# https://github.com/nodejs/node/issues/43446 -test-net-connect-reset-until-connected: PASS, FLAKY # https://github.com/nodejs/node/issues/43457 test-domain-no-error-handler-abort-on-uncaught-0: PASS, FLAKY test-domain-no-error-handler-abort-on-uncaught-1: PASS,FLAKY @@ -55,8 +53,6 @@ test-domain-with-abort-on-uncaught-exception: PASS, FLAKY test-fs-stat-bigint: PASS,FLAKY # https://github.com/nodejs/node/issues/31280 test-worker-message-port-message-before-close: PASS,FLAKY -# https://github.com/nodejs/node/issues/43446 -test-net-connect-reset-until-connected: PASS, FLAKY [$system==aix] diff --git a/test/parallel/test-net-connect-reset-until-connected.js b/test/parallel/test-net-connect-reset-until-connected.js index e40ec05f6ce1e9..9c2493eaaf0598 100644 --- a/test/parallel/test-net-connect-reset-until-connected.js +++ b/test/parallel/test-net-connect-reset-until-connected.js @@ -3,12 +3,21 @@ const common = require('../common'); const net = require('net'); +function barrier(count, cb) { + return function() { + if (--count === 0) + cb(); + }; +} + const server = net.createServer(); server.listen(0, common.mustCall(function() { const port = server.address().port; const conn = net.createConnection(port); + const connok = barrier(2, () => conn.resetAndDestroy()); conn.on('close', common.mustCall()); server.on('connection', (socket) => { + connok(); socket.on('error', common.expectsError({ code: 'ECONNRESET', message: 'read ECONNRESET', @@ -16,5 +25,5 @@ server.listen(0, common.mustCall(function() { })); server.close(); }); - conn.resetAndDestroy(); + conn.on('connect', connok); }));