0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-28 22:46:31 +01:00

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>
This commit is contained in:
Ben Noordhuis 2015-01-23 17:14:36 +01:00
parent 5ba307a978
commit 4f95b5d825

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,