Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGerhard Stoebich <18708370+Flarna@users.noreply.github.com>2019-10-08 21:26:26 +0300
committerRuben Bridgewater <ruben@bridgewater.de>2019-12-20 05:57:03 +0300
commit9e6c2ba68a46ee693cf0b4875966f96a6dc261cf (patch)
treea10177343e082b82285fac6aeddde240bec32ac1 /test
parentac2fc0dd5f5830d32dd89fe1c9c55d672cf59c0a (diff)
test: fix flaky test-http2-client-upload
Wait for close event on server stream before shuting down server and client to avoid races seen on windows CI. Refs: https://github.com/nodejs/node/issues/20750#issuecomment-511015247 PR-URL: https://github.com/nodejs/node/pull/29889 Refs: https://github.com/nodejs/node/issues/29852 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-http2-client-upload.js17
1 files changed, 11 insertions, 6 deletions
diff --git a/test/parallel/test-http2-client-upload.js b/test/parallel/test-http2-client-upload.js
index 78c6d47cbb4..c5b052d2fec 100644
--- a/test/parallel/test-http2-client-upload.js
+++ b/test/parallel/test-http2-client-upload.js
@@ -21,6 +21,12 @@ fs.readFile(loc, common.mustCall((err, data) => {
fileData = data;
const server = http2.createServer();
+ let client;
+
+ const countdown = new Countdown(3, () => {
+ server.close();
+ client.close();
+ });
server.on('stream', common.mustCall((stream) => {
let data = Buffer.alloc(0);
@@ -28,17 +34,16 @@ fs.readFile(loc, common.mustCall((err, data) => {
stream.on('end', common.mustCall(() => {
assert.deepStrictEqual(data, fileData);
}));
+ // Waiting on close avoids spurious ECONNRESET seen in windows CI.
+ // Not sure if this is actually a bug; more details at
+ // https://github.com/nodejs/node/issues/20750#issuecomment-511015247
+ stream.on('close', () => countdown.dec());
stream.respond();
stream.end();
}));
server.listen(0, common.mustCall(() => {
- const client = http2.connect(`http://localhost:${server.address().port}`);
-
- const countdown = new Countdown(2, () => {
- server.close();
- client.close();
- });
+ client = http2.connect(`http://localhost:${server.address().port}`);
const req = client.request({ ':method': 'POST' });
req.on('response', common.mustCall());