Skip to content

Add test for many requests over one connection with a low stream limit - #79

Merged
jeanlf merged 1 commit into
gpac:masterfrom
ivchicano:test-http-many-requests
Oct 16, 2026
Merged

jeanlf merged 1 commit into
gpac:masterfrom
ivchicano:test-http-many-requests

Conversation

@ivchicano

Copy link
Copy Markdown
Contributor

Regression test for gpac/gpac#3951 (HTTP/3 server: a connection can only make -hx-max-st requests), fixed by
gpac/gpac#3952.

test_http_many_requests in scripts/out_http.sh:

  • makes a DASH live-profile stream from auxiliary_files/enst_audio.aac with 100 ms segments (70 segments,
    so 72 requests with the init segment and MPD);
  • serves it with httpout limited to 8 streams (-hx-max-st=8), so the client makes 9 times more requests
    than the limit over one connection;
  • reads it over HTTP to remote.aac and locally to local.aac, and fails if the two differ.

It needs no new reference hashes. Like the other tests in the script, it runs once per HTTP version
(http-, http2-, http3-many-requests); each run takes ~6 s (the server's -runfor).

Results (GPAC master 1b09ef3 with quictls openssl-3.1.7-quic1, ngtcp2 1.25.0 and nghttp3 1.18.0, Ubuntu
24.04; two runs per build):

unpatched with gpac/gpac#3952
http-many-requests OK OK
http2-many-requests OK OK
http3-many-requests fail: client stops at segment 18 of 70 (Internal Service Error) OK

Prepared with the help of an AI assistant (Claude); the commit carries a Co-Authored-By trailer. The results
above come from runs on the builds described.

The server allows 8 concurrent streams (-hx-max-st=8) and the client reads a
DASH stream of 72 requests over one connection, then compares what it read
with the same content read locally. It runs for HTTP/1.1, HTTP/2 and HTTP/3
like the other out_http.sh tests, and catches an HTTP/3 server that never
returns stream credit (a connection limited to -hx-max-st requests).

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@jeanlf

jeanlf commented Oct 16, 2026

Copy link
Copy Markdown
Member

Thanks !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants