pytest: fix conditions for test_02_28

- allow 02_28 to run in HTTP/1.1 without H2 support again.
  Follow-up to 3752de465d #19412

- fix to skip 02_28 for all protocols for curl without compression
  support (either zlib, brotli or ztsd).

Closes #19458
This commit is contained in:
Viktor Szakats 2025-11-10 22:43:59 +01:00
parent cdb7ac11b4
commit b81d30ade3
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
2 changed files with 9 additions and 1 deletions

View file

@ -581,7 +581,9 @@ class TestDownload:
@pytest.mark.parametrize("proto", ['http/1.1', 'h2', 'h3'])
def test_02_28_get_compressed(self, env: Env, httpd, nghttpx, proto):
if not env.have_h2_curl():
if not env.have_compressed_curl():
pytest.skip("--compressed not supported")
if proto == 'h2' and not env.have_h2_curl():
pytest.skip("h2 not supported")
if proto == 'h3' and not env.have_h3():
pytest.skip("h3 not supported")

View file

@ -406,6 +406,12 @@ class Env:
def have_h3_curl() -> bool:
return 'http3' in Env.CONFIG.curl_props['features']
@staticmethod
def have_compressed_curl() -> bool:
return 'brotli' in Env.CONFIG.curl_props['libs'] or \
'zlib' in Env.CONFIG.curl_props['libs'] or \
'zstd' in Env.CONFIG.curl_props['libs']
@staticmethod
def curl_uses_lib(libname: str) -> bool:
return libname.lower() in Env.CONFIG.curl_props['libs']