From d9190c17ed261d7bbfc8d028b28fe176f0e8ad0e Mon Sep 17 00:00:00 2001 From: sreepurnajasti Date: Wed, 13 Dec 2017 14:53:03 +0530 Subject: [PATCH] test: Use countdown in test file Fixes: https://github.com/nodejs/node/issues/17169 PR-URL: https://github.com/nodejs/node/pull/17646 Reviewed-By: Anatoli Papirovski Reviewed-By: James M Snell Reviewed-By: Luigi Pinca Reviewed-By: Ruben Bridgewater Reviewed-By: Gireesh Punathil --- test/parallel/test-http-pipeline-regr-3332.js | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/test/parallel/test-http-pipeline-regr-3332.js b/test/parallel/test-http-pipeline-regr-3332.js index abac05c0bc0854..c940b8d3841b52 100644 --- a/test/parallel/test-http-pipeline-regr-3332.js +++ b/test/parallel/test-http-pipeline-regr-3332.js @@ -1,40 +1,27 @@ 'use strict'; require('../common'); -const assert = require('assert'); const http = require('http'); const net = require('net'); +const Countdown = require('../common/countdown'); const big = Buffer.alloc(16 * 1024, 'A'); const COUNT = 1e4; -let received = 0; +const countdown = new Countdown(COUNT, () => { + server.close(); + client.end(); +}); let client; const server = http.createServer(function(req, res) { res.end(big, function() { - if (++received === COUNT) { - server.close(); - client.end(); - } + countdown.dec(); }); }).listen(0, function() { const req = 'GET / HTTP/1.1\r\n\r\n'.repeat(COUNT); client = net.connect(this.address().port, function() { client.write(req); }); - - // Just let the test terminate instead of hanging - client.on('close', function() { - if (received !== COUNT) - server.close(); - }); client.resume(); }); - -process.on('exit', function() { - // The server should pause connection on pipeline flood, but it shoul still - // resume it and finish processing the requests, when its output queue will - // be empty again. - assert.strictEqual(received, COUNT); -});