Skip to content

Commit

Permalink
test: deflake http-server-request-timeout test
Browse files Browse the repository at this point in the history
parallel/http-server-request-timeouts-mixed test was sometimes failing
due to insufficient tolerance between the connection timeout checking
interval, and the expected timeout specified in the test.

This change makes the checking interval more frequent, and decouples
the timeout for the check from the checking interval.

fixes: nodejs#43465
  • Loading branch information
nicksia-vgw committed Aug 8, 2022
1 parent f136e7e commit 3c68bf1
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions test/parallel/test-http-server-request-timeouts-mixed.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const responseOk = 'HTTP/1.1 200 OK\r\n';
const responseTimeout = 'HTTP/1.1 408 Request Timeout\r\n';

const headersTimeout = common.platformTimeout(2000);
const connectionsCheckingInterval = headersTimeout / 4;
const connectionsCheckingInterval = headersTimeout / 8;

const server = createServer({
headersTimeout,
Expand Down Expand Up @@ -76,7 +76,8 @@ server.listen(0, common.mustCall(() => {

// Send the second request, stop in the middle of the headers
request2.client.write(requestBodyPart1);
// Send the second request, stop in the middle of the headers

// Send the third request and stop in the middle of the headers
request3.client.write(requestBodyPart1);
}, headersTimeout * 0.2);

Expand Down Expand Up @@ -111,7 +112,7 @@ server.listen(0, common.mustCall(() => {

assert(request1.response.startsWith(responseOk));
assert(request2.response.startsWith(responseTimeout)); // It is expired due to headersTimeout
}, headersTimeout * 1.2 + connectionsCheckingInterval);
}, headersTimeout * 1.4);

setTimeout(() => {
// Complete the body for the fourth request
Expand Down

0 comments on commit 3c68bf1

Please sign in to comment.