test: harden test-gc-http-client

This reduces the total number of requests from 500 to 300 and triggers
more requests in parallel. It also moves some function creation out
and waits with the first request until the server is listening.

PR-URL: https://github.com/nodejs/node/pull/22373
Fixes: https://github.com/nodejs/node/issues/22336
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Ruben Bridgewater authored and Joyee Cheung committed 2018-08-20 09:20:36 +08:00
1 parent 3479b1ca82
commit 79642ae071
1 file changed
+18 -22
+18 -22
View File
@@ -10,7 +10,7 @@ function serverHandler(req, res) {
}
const http = require('http');
const todo = 500;
const todo = 300;
let done = 0;
let count = 0;
let countGC = 0;
@@ -18,36 +18,32 @@ let countGC = 0;
console.log(`We should do ${todo} requests`);
const server = http.createServer(serverHandler);
server.listen(0, getall);
server.listen(0, common.mustCall(() => {
for (let i = 0; i < 15; i++)
getall();
}));
function getall() {
if (count >= todo)
if (count === todo)
return;
(function() {
function cb(res) {
res.resume();
console.error('in cb');
done += 1;
res.on('end', global.gc);
}
const req = http.get({
hostname: 'localhost',
pathname: '/',
port: server.address().port
}, cb);
const req = http.get({
hostname: 'localhost',
pathname: '/',
port: server.address().port
}, cb);
count++;
common.onGC(req, { ongc });
})();
count++;
common.onGC(req, { ongc });
setImmediate(getall);
}
for (let i = 0; i < 10; i++)
getall();
function cb(res) {
res.resume();
done += 1;
res.on('end', global.gc);
}
function ongc() {
countGC++;