diff --git a/test/parallel/test-http-pipeline-regr-3332.js b/test/parallel/test-http-pipeline-regr-3332.js index b34ad499850b70..f65df591891b70 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 = new Array(COUNT + 1).join('GET / HTTP/1.1\r\n\r\n'); 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); -});