Skip to content

Commit c5f9a38

Browse files
committed
pytest: quiche flakiness
Let nhttpx only use http/1.1 to backend. This reproduces the bug in quiche with higher frequency. Allow test_14_05 to now return a 400 in addition to the 431 we get from a h2 backend to nghttpx. Skip test_05_02 in h3 on quiche not newer than version 0.24.4 in which its bug is fixed (cloudflare/quiche#2278)
1 parent b11b67c commit c5f9a38

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

tests/http/test_05_errors.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ def test_05_01_partial_1(self, env: Env, httpd, nghttpx, proto):
6060
def test_05_02_partial_20(self, env: Env, httpd, nghttpx, proto):
6161
if proto == 'h3' and env.curl_uses_ossl_quic():
6262
pytest.skip("openssl-quic is flaky in yielding proper error codes")
63+
if proto == 'h3' and env.curl_uses_lib('quiche') and \
64+
not env.curl_lib_version_at_least('quiche', '0.24.5'):
65+
pytest.skip("quiche issue #2277 not fixed")
6366
count = 20
6467
curl = CurlClient(env=env)
6568
urln = f'https://{env.authority_for(env.domain1, proto)}' \

tests/http/test_14_auth.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,9 @@ def test_14_05_basic_large_pw(self, env: Env, httpd, nghttpx, proto):
107107
'--basic', '--user', f'test:{password}',
108108
'--trace-config', 'http/2,http/3'
109109
])
110-
# but apache denies on length limit
111-
r.check_response(http_status=431)
110+
# but apache either denies on length limit or gives a 400
111+
r.check_exit_code(0)
112+
assert r.stats[0]['http_code'] in [400, 431]
112113

113114
# PUT data, basic auth with very large pw
114115
@pytest.mark.parametrize("proto", Env.http_mplx_protos())

tests/http/testenv/nghttpx.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,6 @@ def start(self, wait_live=True):
247247
'--frontend-quic-early-data',
248248
])
249249
args.extend([
250-
f'--backend=127.0.0.1,{self.env.https_port};{self._domain};sni={self._domain};proto=h2;tls',
251250
f'--backend=127.0.0.1,{self.env.http_port}',
252251
'--log-level=ERROR',
253252
f'--pid-file={self._pid_file}',

0 commit comments

Comments
 (0)