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 <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
pull/575/head
Ben Noordhuis 2015-01-23 17:14:36 +01:00
parent 5ba307a978
commit 4f95b5d825
1 changed files with 5 additions and 2 deletions

View File

@ -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,