]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
http tests: in CI skip test_02_23* for quiche
authorStefan Eissing <stefan@eissing.org>
Tue, 14 May 2024 10:32:09 +0000 (12:32 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 14 May 2024 14:19:42 +0000 (16:19 +0200)
For unknown reasons, these tests fail in CI often, but run fine locally.
Skip them in CI to avoid unrelated PRs to have failures.

Closes #13638

tests/http/test_02_download.py
tests/http/testenv/curl.py

index 74f2e1e20fec7e8da7ce2b68b5517eee02f28536..da652eabd45119990ad20699c1c96b54bb2be73b 100644 (file)
@@ -360,6 +360,8 @@ class TestDownload:
     def test_02_23a_lib_abort_paused(self, env: Env, httpd, nghttpx, proto, repeat):
         if proto == 'h3' and env.curl_uses_ossl_quic():
             pytest.skip('OpenSSL QUIC fails here')
+        if proto == 'h3' and env.ci_run and env.curl_uses_lib('quiche'):
+            pytest.skip("fails in CI, but works locally for unknown reasons")
         if proto in ['h2', 'h3']:
             count = 200
             max_parallel = 100
@@ -387,6 +389,8 @@ class TestDownload:
     def test_02_23b_lib_abort_offset(self, env: Env, httpd, nghttpx, proto, repeat):
         if proto == 'h3' and env.curl_uses_ossl_quic():
             pytest.skip('OpenSSL QUIC fails here')
+        if proto == 'h3' and env.ci_run and env.curl_uses_lib('quiche'):
+            pytest.skip("fails in CI, but works locally for unknown reasons")
         if proto in ['h2', 'h3']:
             count = 200
             max_parallel = 100
@@ -414,6 +418,8 @@ class TestDownload:
     def test_02_23c_lib_fail_offset(self, env: Env, httpd, nghttpx, proto, repeat):
         if proto == 'h3' and env.curl_uses_ossl_quic():
             pytest.skip('OpenSSL QUIC fails here')
+        if proto == 'h3' and env.ci_run and env.curl_uses_lib('quiche'):
+            pytest.skip("fails in CI, but works locally for unknown reasons")
         if proto in ['h2', 'h3']:
             count = 200
             max_parallel = 100
index ad529934ae74c465b1361bbc33c95f519a4b023b..2a8dbe09f4ba8ab3ad92b1673cadc7c8df57f543 100644 (file)
@@ -541,11 +541,11 @@ class CurlClient:
         started_at = datetime.now()
         exception = None
         profile = None
+        started_at = datetime.now()
         try:
             with open(self._stdoutfile, 'w') as cout:
                 with open(self._stderrfile, 'w') as cerr:
                     if with_profile:
-                        started_at = datetime.now()
                         end_at = started_at + timedelta(seconds=self._timeout) \
                             if self._timeout else None
                         log.info(f'starting: {args}')
@@ -575,7 +575,10 @@ class CurlClient:
                                            timeout=self._timeout)
                         exitcode = p.returncode
         except subprocess.TimeoutExpired:
-            log.warning(f'Timeout after {self._timeout}s: {args}')
+            now = datetime.now()
+            duration = now - started_at
+            log.warning(f'Timeout at {now} after {duration.total_seconds()}s '
+                        f'(configured {self._timeout}s): {args}')
             exitcode = -1
             exception = 'TimeoutExpired'
         coutput = open(self._stdoutfile).readlines()