From 6a6378c2eb6b1cb05594602a2284877f22e1af39 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 3 Apr 2024 22:09:02 +0100 Subject: gnu: python-astropy: Symplify package. * gnu/packages/astronomy.scm (python-astropy): Simplify package. [build-system]: Swap to pyproject-build-system. [arguments] <#:phases>: Merge 'prepare-test-environment into custom 'check phase and move test arguments to <#:test-arguments>. Change-Id: I80098c3eb4e9d95ef2c651d5416196165be3f7c0 --- gnu/packages/astronomy.scm | 47 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 25 deletions(-) (limited to 'gnu/packages/astronomy.scm') diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index c5355e463c..466d1aaaf8 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1565,9 +1565,20 @@ accurately in real time at any rate desired.") ;; see https://github.com/astropy/astropy/pull/14311 (with-directory-excursion "cextern" (for-each delete-file-recursively '("expat" "wcslib"))))))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments (list + #:test-flags + #~(list "--pyargs" "astropy" + "-n" "auto" + "-k" (string-append + ;; Skip tests that need remote data. + "not remote_data" + ;; E astropy.samp.errors.SAMPProxyError: + ;; + " and not test_main" + ;; E ModuleNotFoundError: No module named 'wofz' + " and not test_pickle_functional")) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'preparations @@ -1587,32 +1598,18 @@ accurately in real time at any rate desired.") (add-before 'install 'writable-compiler (lambda _ (make-file-writable "astropy/_compiler.c"))) - (add-before 'check 'prepare-test-environment - (lambda _ - ;; Some tests require a writable home. - (setenv "HOME" "/tmp") - (make-file-writable "astropy/_compiler.c") - ;; Extensions have to be rebuilt before running the tests. - (invoke "python" "setup.py" "build_ext" "--inplace" - "-j" (number->string (parallel-job-count))))) - ;; TODO: The swap to pyproject-build-system introduced all tests - ;; failed due to pytest could not load conftest.py, find out how - ;; to resolve it and migrate completely to pyproject-build-system. (replace 'check - (lambda* (#:key tests? #:allow-other-keys) + (lambda* (#:key tests? test-flags #:allow-other-keys) (when tests? - (invoke "python" "-m" "pytest" "--pyargs" "astropy" - ;; with -n : 133.00s - ;; without -n : 326.14s - "-n" (number->string (parallel-job-count)) - "-k" (string-append - ;; Skip tests that need remote data. - "not remote_data" - ;; E astropy.samp.errors.SAMPProxyError: - ;; - " and not test_main" - ;; E ModuleNotFoundError: No module named 'wofz' - " and not test_pickle_functional")))))))) + (setenv "HOME" "/tmp") + (make-file-writable "astropy/_compiler.c") + ;; Extensions have to be rebuilt before running the tests. + (invoke "python" "setup.py" "build_ext" "--inplace" + "-j" (number->string (parallel-job-count))) + ;; Step out of the source directory to avoid interference; we + ;; want to run the installed code with extensions etc. + (with-directory-excursion "/tmp" + (apply invoke "pytest" "-v" test-flags)))))))) (native-inputs (list pkg-config python-colorlog -- cgit v1.2.3