(address . guix-patches@gnu.org)
Hi guix,
the fenics package tests fail and it looks like the tests are run 3
times concurrently. Every test name is printed three times in the build
log, for example here:
This is the maximum number of parallel jobs of the test run and if I
increase it, I get more print outputs.
AFAIK, pytest doesn't support mpi, so I don't see why the tests are
executed this way.
Anyhow, in the attached patch, the tests are executed directly using
pytest. This prevents the tests from getting stuck and subsequently I
discovered a failure in XDMF tests. With this test also disabled, the
package builds fine for me.
Maybe a fenics or mpi expert can tell if this patch makes sense?
Best regards,
Ontje
From 8dd11596851ab5a7ae1d483b9883894a9bd4d4ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ontje=20L=C3=BCnsdorf?= <ontje.luensdorf@dlr.de>
Date: Mon, 27 Jun 2022 11:51:10 +0200
Subject: [PATCH] gnu: fenics: Do not mpirun tests.
* gnu/packages/simulation.scm (fenics)[phases]: Do not use mpirun for tests
and skip failing XDMF test.
---
gnu/packages/simulation.scm | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
Toggle diff (32 lines)
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 9e92fbcc5b..df4dd2d17a 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -665,15 +665,14 @@ (define-public fenics
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "test"
- ;; Note: The test test_snes_set_from_options() in the file
- ;; unit/nls/test_PETScSNES_solver.py fails and is ignored.
- ;; Limit the number of jobs to 3 as 500 MiB of memory is used
- ;; per process.
- (invoke "mpirun" "-np" (number->string
- (min 3 (parallel-job-count)))
- "python" "-B" "-m"
- "pytest" "unit" "--ignore"
- "unit/nls/test_PETScSNES_solver.py")))))
+ (invoke
+ "pytest" "unit"
+ ;; The test test_snes_set_from_options() in the file
+ ;; unit/nls/test_PETScSNES_solver.py fails and is ignored.
+ "--ignore" "unit/nls/test_PETScSNES_solver.py"
+ ;; Fails with a segfault.
+ "--ignore" "unit/io/test_XDMF.py"
+ )))))
(add-after 'install 'install-demo-files
(lambda* (#:key outputs #:allow-other-keys)
(let* ((demos (string-append
base-commit: 97766323bc6e2b4dcfba4d6b46749a4280bca709
--
2.36.1