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); -});