From e1bf6709dc720fa06359ccd745d81cafc37dbd39 Mon Sep 17 00:00:00 2001 From: Fedor Indutny Date: Tue, 3 Mar 2015 04:10:28 -0500 Subject: [PATCH] test: fix racey-ness in tls-inception Fix test failure on FreeBSD and SmartOS, which happens due to a bad timing: events.js:141 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET at exports._errnoException (util.js:734:11) at TLSWrap.onread (net.js:538:26) The outer `net.conncet()` socket stays alive after the inner socket is gone. This happens because `.pipe()`'s implementation does not `destroy` the source side when the destination has emitted `close`. Fix: https://github.com/iojs/io.js/issues/1012 PR-URL: https://github.com/iojs/io.js/pull/1040 Reviewed-By: Chris Dickinson --- test/parallel/test-tls-inception.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/parallel/test-tls-inception.js b/test/parallel/test-tls-inception.js index 76c747aadb8c24..83b12a69389aca 100644 --- a/test/parallel/test-tls-inception.js +++ b/test/parallel/test-tls-inception.js @@ -28,6 +28,10 @@ a = tls.createServer(options, function (socket) { var dest = net.connect(options); dest.pipe(socket); socket.pipe(dest); + + dest.on('close', function() { + socket.destroy(); + }); }); // the "target" server