summaryrefslogtreecommitdiff
path: root/gnu/packages/python-web.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2022-02-20 14:02:31 +0200
committerEfraim Flashner <efraim@flashner.co.il>2022-02-20 14:02:31 +0200
commit14a556c7ed1e643a4388ca54b68be2f4a89b2161 (patch)
treec3c168a46dd079eb6545d80623e2458bce58527a /gnu/packages/python-web.scm
parent781dd2de230e37e1dc05c992936125655fdf842f (diff)
downloadguix-patches-14a556c7ed1e643a4388ca54b68be2f4a89b2161.tar
guix-patches-14a556c7ed1e643a4388ca54b68be2f4a89b2161.tar.gz
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.
Diffstat (limited to 'gnu/packages/python-web.scm')
-rw-r--r--gnu/packages/python-web.scm49
1 files 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