From b2d3d4e35a49f82d8a9046435d38f942132448c7 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 15 Dec 2016 13:31:36 -0800 Subject: [PATCH] test: fix flaky test-http-client-timeout-event Race condition caused occasional failure on CI. Chained callbacks used to remove race condition. PR-URL: https://github.com/nodejs/node/pull/10293 Reviewed-By: Santiago Gimeno Reviewed-By: Colin Ihrig --- .../test-http-client-timeout-event.js | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/test/parallel/test-http-client-timeout-event.js b/test/parallel/test-http-client-timeout-event.js index 8e3d034c31d857..623b253a20e667 100644 --- a/test/parallel/test-http-client-timeout-event.js +++ b/test/parallel/test-http-client-timeout-event.js @@ -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); + }); + })); });