Skip to content

Deflake eunit: gate live HTTP/3 tests, harden checkout-timeout test#891

Closed
benoitc wants to merge 1 commit into
masterfrom
fix/deflake-h3-eunit-and-checkout-timeout
Closed

Deflake eunit: gate live HTTP/3 tests, harden checkout-timeout test#891
benoitc wants to merge 1 commit into
masterfrom
fix/deflake-h3-eunit-and-checkout-timeout

Conversation

@benoitc

@benoitc benoitc commented Jun 18, 2026

Copy link
Copy Markdown
Owner

The default rebar3 eunit run is flaky on Linux x86_64 CI: the live-cloudflare HTTP/3 eunit tests intermittently crash the quic h3 library (quic_h3_connection gen_statem), and the resulting load makes the tight-timeout test_checkout_timeout race and fail. Neither is a product regression.

  • Gate the live HTTP/3 eunit tests (connect to cloudflare/httpbin) behind an opt-in HACKNEY_LIVE_TESTS env via a per-module maybe_live/1; the default run skips them. The HTTP/3 e2e CT suites (make http3-e2e-test) still cover live testing. The pure-unit parse_headers_test_ stays enabled.
  • Harden test_checkout_timeout: its first request now uses a generous checkout_timeout so it reliably acquires the single per-host slot under load; only the second request (which must time out) keeps the tight 100ms timeout.

Local rebar3 eunit (flag unset): all 973 tests pass, no h3 crash reports.

…out test

The live-cloudflare HTTP/3 eunit tests depend on the network and intermittently
crash the quic h3 library on CI, which destabilizes timing and fails unrelated
tests. Gate them behind an opt-in HACKNEY_LIVE_TESTS env so the default run skips
them; the HTTP/3 e2e CT suites still cover live testing.

Harden test_checkout_timeout: give its first request a generous checkout_timeout
so it reliably acquires the single per-host slot under load; only the second
request, the one that must time out, keeps the tight 100ms timeout.
@benoitc benoitc closed this Jun 18, 2026
@benoitc benoitc deleted the fix/deflake-h3-eunit-and-checkout-timeout branch June 18, 2026 13:46
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.

1 participant