From 14a556c7ed1e643a4388ca54b68be2f4a89b2161 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 20 Feb 2022 14:02:31 +0200 Subject: [PATCH] gnu: python-aiohttp: Fallback to running tests sequentially. * gnu/packages/python-web.scm (python-aiohttp)[arguments]: Adjust custom 'check phase to run the tests sequentially if they fail when run in parallel. --- gnu/packages/python-web.scm | 49 +++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 76d9a3e0c4..456323ca55 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -268,27 +268,34 @@ for adding, removing and dropping callbacks.") (find-files "." "_.*\\.pyx$"))))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) - (when tests? - ;; This tests requires the 'proxy.py' module, not yet - ;; packaged. - (delete-file "tests/test_proxy_functional.py") - (invoke "pytest" "-vv" - ;; Disable loading the aiohttp coverage plugin - ;; to avoid a circular dependency (code coverage - ;; is not very interesting to us anyway). - "-o" "addopts=''" "--ignore=aiohttp" - "-n" (number->string (parallel-job-count)) - "-k" (string-append - ;; This test probably requires to be run with the - ;; library loaded from the the build directory. - "not test_c_parser_loaded and " - ;; Disable the following tests as they require - ;; networking. - "not TestDeflateBuffer and " - "not test_client_session_timeout_zero and " - "not test_empty_body and " - "not test_mark_formdata_as_processed[pyloop] and " - "not test_receive_runtime_err[pyloop]")))))))) + (let ((skipped-tests + (string-append + ;; This test probably requires to be run with the + ;; library loaded from the the build directory. + "not test_c_parser_loaded and " + ;; Disable the following tests as they require + ;; networking. + "not TestDeflateBuffer and " + "not test_client_session_timeout_zero and " + "not test_empty_body and " + "not test_mark_formdata_as_processed[pyloop] and " + "not test_receive_runtime_err[pyloop]"))) + (when tests? + ;; This tests requires the 'proxy.py' module, not yet + ;; packaged. + (delete-file "tests/test_proxy_functional.py") + ;; Sometimes tests fail when run in parallel. + (or + (invoke "pytest" "-vv" + ;; Disable loading the aiohttp coverage plugin + ;; to avoid a circular dependency (code coverage + ;; is not very interesting to us anyway). + "-o" "addopts=''" "--ignore=aiohttp" + "-n" (number->string (parallel-job-count)) + "-k" skipped-tests) + (invoke "pytest" "-vv" + "-o" "addopts=''" "--ignore=aiohttp" + "-k" skipped-tests))))))))) (propagated-inputs (list python-aiodns python-aiosignal