Skip to content

Commit 2f4da8b

Browse files
sreepurnajastiMylesBorins
authored andcommitted
test: use countdown in test file
Fixes: #17169 PR-URL: #17874 Fixes: #17169 Reviewed-By: Weijia Wang <starkwang@126.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
1 parent ef533c9 commit 2f4da8b

File tree

1 file changed

+6
-20
lines changed

1 file changed

+6
-20
lines changed

test/parallel/test-http-get-pipeline-problem.js

+6-20
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const fixtures = require('../common/fixtures');
2828
const assert = require('assert');
2929
const http = require('http');
3030
const fs = require('fs');
31+
const Countdown = require('../common/countdown');
3132

3233
http.globalAgent.maxSockets = 1;
3334

@@ -38,14 +39,12 @@ const image = fixtures.readSync('/person.jpg');
3839
console.log(`image.length = ${image.length}`);
3940

4041
const total = 10;
41-
let requests = 0;
42-
let responses = 0;
42+
const responseCountdown = new Countdown(total, common.mustCall(() => {
43+
checkFiles();
44+
server.close();
45+
}));
4346

4447
const server = http.Server(function(req, res) {
45-
if (++requests === total) {
46-
server.close();
47-
}
48-
4948
setTimeout(function() {
5049
res.writeHead(200, {
5150
'content-type': 'image/jpeg',
@@ -74,9 +73,7 @@ server.listen(0, function() {
7473

7574
s.on('finish', function() {
7675
console.error(`done ${x}`);
77-
if (++responses === total) {
78-
checkFiles();
79-
}
76+
responseCountdown.dec();
8077
});
8178
}).on('error', function(e) {
8279
console.error('error! ', e.message);
@@ -86,8 +83,6 @@ server.listen(0, function() {
8683
}
8784
});
8885

89-
90-
let checkedFiles = false;
9186
function checkFiles() {
9287
// Should see 1.jpg, 2.jpg, ..., 100.jpg in tmpDir
9388
const files = fs.readdirSync(common.tmpDir);
@@ -101,13 +96,4 @@ function checkFiles() {
10196
image.length, stat.size,
10297
`size doesn't match on '${fn}'. Got ${stat.size} bytes`);
10398
}
104-
105-
checkedFiles = true;
10699
}
107-
108-
109-
process.on('exit', function() {
110-
assert.strictEqual(total, requests);
111-
assert.strictEqual(total, responses);
112-
assert.ok(checkedFiles);
113-
});

0 commit comments

Comments
 (0)