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:
parent
3479b1ca82
commit
79642ae071
@ -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++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user