test: use Countdown in http-agent test

PR-URL: https://github.com/nodejs/node/pull/17537
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
This commit is contained in:
Federico Kauffman 2017-12-07 19:20:54 -03:00 committed by Anatoli Papirovski
parent b7ff3c0e04
commit f373a1d814
No known key found for this signature in database
GPG Key ID: 614E2E1ABEB4B2C0

View File

@ -21,6 +21,7 @@
'use strict'; 'use strict';
const common = require('../common'); const common = require('../common');
const Countdown = require('../common/countdown');
const assert = require('assert'); const assert = require('assert');
const http = require('http'); const http = require('http');
common.crashOnUnhandledRejection(); common.crashOnUnhandledRejection();
@ -33,14 +34,17 @@ const server = http.Server(common.mustCall(function(req, res) {
}, (N * M))); // N * M = good requests (the errors will not be counted) }, (N * M))); // N * M = good requests (the errors will not be counted)
function makeRequests(outCount, inCount, shouldFail) { function makeRequests(outCount, inCount, shouldFail) {
let responseCount = outCount * inCount; const countdown = new Countdown(
outCount * inCount,
common.mustCall(() => server.close())
);
let onRequest = common.mustNotCall(); // Temporary let onRequest = common.mustNotCall(); // Temporary
const p = new Promise((resolve) => { const p = new Promise((resolve) => {
onRequest = common.mustCall((res) => { onRequest = common.mustCall((res) => {
if (--responseCount === 0) { if (countdown.dec() === 0) {
server.close();
resolve(); resolve();
} }
if (!shouldFail) if (!shouldFail)
res.resume(); res.resume();
}, outCount * inCount); }, outCount * inCount);