Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
test: fix flaky test-http-client-timeout-event
Race condition caused occasional failure on CI. Chained callbacks used
to remove race condition.
  • Loading branch information
Trott committed Dec 15, 2016
commit 93bbad38614af8363eb81b846c9c959e5bf99d0e
23 changes: 10 additions & 13 deletions test/parallel/test-http-client-timeout-event.js
Original file line number Diff line number Diff line change
@@ -1,33 +1,30 @@
'use strict';
const common = require('../common');
const assert = require('assert');
const http = require('http');

var options = {
const options = {
method: 'GET',
port: undefined,
host: '127.0.0.1',
path: '/'
};

var server = http.createServer();
const server = http.createServer();

server.listen(0, options.host, function() {
options.port = this.address().port;
var req = http.request(options);
const req = http.request(options);
req.on('error', function() {
// this space is intentionally left blank
});
req.on('close', common.mustCall(() => server.close()));

var timeout_events = 0;
req.setTimeout(1);
req.on('timeout', common.mustCall(() => timeout_events += 1));
setTimeout(function() {
req.destroy();
assert.strictEqual(timeout_events, 1);
}, common.platformTimeout(100));
setTimeout(function() {
req.end();
}, common.platformTimeout(50));
req.on('timeout', common.mustCall(() => {
req.end(() => {
setTimeout(() => {
req.destroy();
}, 100);
});
}));
});