From 4f95b5d8253ef64e3673b9fa178c41dc8109b72b Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Fri, 23 Jan 2015 17:14:36 +0100 Subject: [PATCH] test: fix parallel/test-http-destroyed-socket-write2 Ameliorate a timing sensitivity issue by switching from setImmediate() to setTimeout() with a 50 ms timeout. This commit also adds EPIPE as an accepted error (besides ECONNABORT and ECONNRESET) because that's a plausible outcome given the timing sensitive nature of test. PR-URL: https://github.com/iojs/io.js/pull/575 Reviewed-By: Colin Ihrig Reviewed-By: Fedor Indutny --- test/parallel/test-http-destroyed-socket-write2.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/parallel/test-http-destroyed-socket-write2.js b/test/parallel/test-http-destroyed-socket-write2.js index dc5b129dc89..1552d2c2c12 100644 --- a/test/parallel/test-http-destroyed-socket-write2.js +++ b/test/parallel/test-http-destroyed-socket-write2.js @@ -19,7 +19,7 @@ server.listen(common.PORT, function() { method: 'POST' }); - var timer = setImmediate(write); + var timer = setTimeout(write, 50); var writes = 0; function write() { @@ -28,7 +28,7 @@ server.listen(common.PORT, function() { req.end(); test(); } else { - timer = setImmediate(write); + timer = setTimeout(write, 50); req.write('hello'); } } @@ -45,6 +45,9 @@ server.listen(common.PORT, function() { case 'ECONNRESET': // On windows this sometimes manifests as ECONNABORTED case 'ECONNABORTED': + // This test is timing sensitive so an EPIPE is not out of the question. + // It should be infrequent, given the 50 ms timeout, but not impossible. + case 'EPIPE': break; default: assert.strictEqual(er.code,