Message ID | 87bkuefiwu.fsf@dlr.de |
---|---|
State | Accepted |
Headers | show |
Series | [bug#56257] fenics: Do not use mpirun for tests | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
Hi, <Ontje.Luensdorf@dlr.de> skribis: > 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: > > https://ci.guix.gnu.org/build/1039880/log/raw > > 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. Good question. Paul, do you remember the reasons for doing so? > 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. Let’s see what Paul thinks, and otherwise I’ll apply the patch shortly so fenics can be installed again. Thanks, Ludo’.
Hi, Ludovic Courtès writes: > Good question. Paul, do you remember the reasons for doing so? If I'm the Paul you're referring to, it would be better to CC me in the future, as I'm not subscribed to the list and only intermittently check it (which happens more often when I'm submitting patches). >> 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. > > Let’s see what Paul thinks, and otherwise I’ll apply the patch shortly > so fenics can be installed again. Actually, I'm not the original author of the fenics package; I just added support for #:tests? (and fixed the sanity check), so I don't know why the tests are run with mpirun. However, the reason I had added support for the #:tests? flag is to skip the fenics tests, which were failing for me. I'm no expert in MPI and pytest, but it does seem that pytest_mpi [1] is recommended when combining the two, and there are no instances of @pytest.mark.mpi in the fenics repository. Further, running pytest tests under MPI is accomplished with [2]: mpirun -n 2 python -m pytest --with-mpi In other words, it seems as if the current tests are repeated in parallel, as Ontje discovered. The patch looks good to me. Best regards, Paul [1]: https://pypi.org/project/pytest-mpi/ [2]: https://pytest-mpi.readthedocs.io/en/latest/usage.html
Hi, (Sorry for the delay.) "Paul A. Patience" <paul@apatience.com> skribis: > Ludovic Courtès writes: >> Good question. Paul, do you remember the reasons for doing so? > > If I'm the Paul you're referring to, it would be better to CC me in the > future, as I'm not subscribed to the list and only intermittently check > it (which happens more often when I'm submitting patches). I actually Cc’d Paul Garlick, but maybe Debbugs ate the Cc: field? > I'm no expert in MPI and pytest, but it does seem that pytest_mpi [1] is > recommended when combining the two, and there are no instances of > @pytest.mark.mpi in the fenics repository. > Further, running pytest tests under MPI is accomplished with [2]: > > mpirun -n 2 python -m pytest --with-mpi > > In other words, it seems as if the current tests are repeated in > parallel, as Ontje discovered. > > The patch looks good to me. Alright, applied. Thanks! Ludo’.
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(-) 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