Subject: [bug#56257] [PATCH] fenics: Do not use mpirun for tests

From: "Paul A. Patience" <[email-masked]>
Date: Tue, 05 Jul 2022 12:43:10 +0000

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