unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#56257] [PATCH] fenics: Do not use mpirun for tests
@ 2022-06-27 11:24 Ontje.Luensdorf
  2022-07-04 10:18 ` Ludovic Courtès
  2022-07-05 12:43 ` Paul A. Patience
  0 siblings, 2 replies; 4+ messages in thread
From: Ontje.Luensdorf @ 2022-06-27 11:24 UTC (permalink / raw)
  To: 56257

[-- Attachment #1: Type: text/plain, Size: 767 bytes --]

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:

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.

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-fenics-Do-not-mpirun-tests.patch --]
[-- Type: text/x-patch; name="0001-gnu-fenics-Do-not-mpirun-tests.patch", Size: 2010 bytes --]

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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#56257] [PATCH] fenics: Do not use mpirun for tests
  2022-06-27 11:24 [bug#56257] [PATCH] fenics: Do not use mpirun for tests Ontje.Luensdorf
@ 2022-07-04 10:18 ` Ludovic Courtès
  2022-07-05 12:43 ` Paul A. Patience
  1 sibling, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2022-07-04 10:18 UTC (permalink / raw)
  To: Ontje.Luensdorf; +Cc: 56257, Paul Garlick

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’.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#56257] [PATCH] fenics: Do not use mpirun for tests
  2022-06-27 11:24 [bug#56257] [PATCH] fenics: Do not use mpirun for tests Ontje.Luensdorf
  2022-07-04 10:18 ` Ludovic Courtès
@ 2022-07-05 12:43 ` Paul A. Patience
  2022-08-03 10:04   ` bug#56257: " Ludovic Courtès
  1 sibling, 1 reply; 4+ messages in thread
From: Paul A. Patience @ 2022-07-05 12:43 UTC (permalink / raw)
  To: 56257

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





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#56257: [PATCH] fenics: Do not use mpirun for tests
  2022-07-05 12:43 ` Paul A. Patience
@ 2022-08-03 10:04   ` Ludovic Courtès
  0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2022-08-03 10:04 UTC (permalink / raw)
  To: Paul A. Patience; +Cc: 56257-done, Ontje.Luensdorf

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’.




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-08-03 10:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-27 11:24 [bug#56257] [PATCH] fenics: Do not use mpirun for tests Ontje.Luensdorf
2022-07-04 10:18 ` Ludovic Courtès
2022-07-05 12:43 ` Paul A. Patience
2022-08-03 10:04   ` bug#56257: " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).