From 8b390a8750b9d47924cdb49d3459668f0703fcea Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 18 Apr 2022 15:27:38 -0400 Subject: [PATCH] gnu: python-pandas: Build and run tests in parallel. * gnu/packages/python-science.scm (python-pandas) [phases]{enable-parallel-build}: New phase. {check}: Add xdist -n option. Skip test_memory_usage test. [native-inputs]: Add python-pytest-xdist. --- gnu/packages/python-science.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 2cabdb490c..21ed2c7694 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -413,6 +413,12 @@ library.") (srfi srfi-26)) #:phases (modify-phases %standard-phases + (add-after 'unpack 'enable-parallel-build + (lambda _ + (substitute* "setup.py" + (("\"-j\", type=int, default=1") + (format #f "\"-j\", type=int, default=~a" + (parallel-job-count)))))) (add-after 'unpack 'patch-which (lambda* (#:key inputs #:allow-other-keys) (let ((which (assoc-ref inputs "which"))) @@ -439,6 +445,7 @@ library.") (when tests? (invoke "pytest" "-vv" "pandas" "--skip-slow" "--skip-network" + "-n" (number->string (parallel-job-count)) "-k" (string-append ;; These test access the internet (see: @@ -448,7 +455,11 @@ library.") "not test_wrong_url" ;; TODO: Missing input " and not TestS3" - " and not s3")))))))))) + " and not s3" + ;; This test fails when run with pytest-xdist + ;; (see: + ;; https://github.com/pandas-dev/pandas/issues/39096). + " and not test_memory_usage")))))))))) (propagated-inputs (list python-jinja2 python-numpy @@ -466,6 +477,7 @@ library.") python-html5lib python-pytest python-pytest-mock + python-pytest-xdist ;; Needed to test clipboard support. xorg-server-for-tests)) (home-page "https://pandas.pydata.org")