Skip to content

Commit 518fd8f

Browse files
lundibunditargos
authored andcommitted
test: update and harden http2-reset-flood
* use new maxSessionInvalidFrames to lower the needed frames * slow down requests to generate less redundant after-session-close requests PR-URL: #30534 Fixes: #30505 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: David Carlier <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 3bed1fa commit 518fd8f

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

test/parallel/test-http2-reset-flood.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const { Worker, parentPort } = require('worker_threads');
1313
// the two event loops intermixing, as we are writing in a busy loop here.
1414

1515
if (process.env.HAS_STARTED_WORKER) {
16-
const server = http2.createServer();
16+
const server = http2.createServer({ maxSessionInvalidFrames: 100 });
1717
server.on('stream', (stream) => {
1818
stream.respond({
1919
'content-type': 'text/plain',
@@ -59,16 +59,20 @@ const worker = new Worker(__filename).on('message', common.mustCall((port) => {
5959
});
6060

6161
let gotError = false;
62+
let streamId = 1;
6263

6364
function writeRequests() {
64-
for (let i = 1; !gotError; i += 2) {
65+
for (let i = 1; i < 10 && !gotError; i++) {
6566
h2header[3] = 1; // HEADERS
6667
h2header[4] = 0x5; // END_HEADERS|END_STREAM
6768
h2header.writeIntBE(1, 0, 3); // Length: 1
68-
h2header.writeIntBE(i, 5, 4); // Stream ID
69+
h2header.writeIntBE(streamId, 5, 4); // Stream ID
70+
streamId += 2;
6971
// 0x88 = :status: 200
7072
conn.write(Buffer.concat([h2header, Buffer.from([0x88])]));
7173
}
74+
if (!gotError)
75+
setImmediate(writeRequests);
7276
}
7377

7478
conn.once('error', common.mustCall(() => {

0 commit comments

Comments
 (0)