aragilar / pytest-mpi

Pytest plugin for working with MPI
https://pytest-mpi.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
19 stars 7 forks source link

Don't depend on mpi4py? #50

Open doronbehar opened 1 month ago

doronbehar commented 1 month ago

Hello, I'm trying to package this for NixOS, and I got these errors:

============================= test session starts ==============================
platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0
rootdir: /build/source
plugins: mpi-0.6
collected 13 items                                                             

docs/markers.rst .                                                       [  7%]
docs/usage.rst ..                                                        [ 23%]
tests/test_fixtures.py FFF                                               [ 46%]
tests/test_markers.py .FF.F.F                                            [100%]

=================================== FAILURES ===================================
______________________________ test_mpi_file_name ______________________________

mpi_testdir = <conftest.MPITestdir object at 0x7ffff66dcbc0>, has_mpi4py = False

    def test_mpi_file_name(mpi_testdir, has_mpi4py):
        mpi_testdir.makepyfile(MPI_FILE_NAME_TEST_CODE)

        result = mpi_testdir.runpytest("--with-mpi", timeout=5)

        if has_mpi4py:
            result.assert_outcomes(passed=1)
        else:
>           result.assert_outcomes(**_fix_plural(errors=1))

/build/source/tests/test_fixtures.py:61: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:568: in parseoutcomes
    return self.parse_summary_nouns(self.outlines)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class '_pytest.pytester.RunResult'>, lines = []

    @classmethod
    def parse_summary_nouns(cls, lines) -> Dict[str, int]:
        """Extract the nouns from a pytest terminal summary line.

        It always returns the plural noun for consistency::

            ======= 1 failed, 1 passed, 1 warning, 1 error in 0.13s ====

        Will return ``{"failed": 1, "passed": 1, "warnings": 1, "errors": 1}``.
        """
        for line in reversed(lines):
            if rex_session_duration.search(line):
                outcomes = rex_outcome.findall(line)
                ret = {noun: int(count) for (count, noun) in outcomes}
                break
        else:
>           raise ValueError("Pytest terminal summary report not found")
E           ValueError: Pytest terminal summary report not found

/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:586: ValueError
------------------------------ Captured log setup ------------------------------
WARNING  conftest:conftest.py:34 To run the MPI tests, you need to use subprocesses
----------------------------- Captured stdout call -----------------------------
running: mpirun -n 2 /nix/store/z7xxy35k7620hs6fn6la5fg2lgklv72l-python3-3.12.4/bin/python3.12 -mpytest --basetemp=/build/pytest-of-nixbld/pytest-0/test_mpi_file_name0/runpytest-0 --with-mpi
     in: /build/pytest-of-nixbld/pytest-0/test_mpi_file_name0
----------------------------- Captured stderr call -----------------------------
hwloc/linux: failed to find sysfs cpu topology directory, aborting linux discovery.
--------------------------------------------------------------------------
The value of the MCA parameter "plm_rsh_agent" was set to a path
that could not be found:

  plm_rsh_agent: ssh : rsh

Please either unset the parameter, or check that the path is correct
--------------------------------------------------------------------------
[localhost:00143] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error plm_rsh_component.c(335)
_______________________________ test_mpi_tmpdir ________________________________

mpi_testdir = <conftest.MPITestdir object at 0x7ffff66df770>, has_mpi4py = False

    def test_mpi_tmpdir(mpi_testdir, has_mpi4py):
        mpi_testdir.makepyfile(MPI_TMPDIR_TEST_CODE)

        result = mpi_testdir.runpytest("--with-mpi", timeout=5)

        if has_mpi4py:
            result.assert_outcomes(passed=1)
        else:
>           result.assert_outcomes(**_fix_plural(errors=1))

/build/source/tests/test_fixtures.py:72: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:568: in parseoutcomes
    return self.parse_summary_nouns(self.outlines)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class '_pytest.pytester.RunResult'>, lines = []

    @classmethod
    def parse_summary_nouns(cls, lines) -> Dict[str, int]:
        """Extract the nouns from a pytest terminal summary line.

        It always returns the plural noun for consistency::

            ======= 1 failed, 1 passed, 1 warning, 1 error in 0.13s ====

        Will return ``{"failed": 1, "passed": 1, "warnings": 1, "errors": 1}``.
        """
        for line in reversed(lines):
            if rex_session_duration.search(line):
                outcomes = rex_outcome.findall(line)
                ret = {noun: int(count) for (count, noun) in outcomes}
                break
        else:
>           raise ValueError("Pytest terminal summary report not found")
E           ValueError: Pytest terminal summary report not found

/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:586: ValueError
------------------------------ Captured log setup ------------------------------
WARNING  conftest:conftest.py:34 To run the MPI tests, you need to use subprocesses
----------------------------- Captured stdout call -----------------------------
running: mpirun -n 2 /nix/store/z7xxy35k7620hs6fn6la5fg2lgklv72l-python3-3.12.4/bin/python3.12 -mpytest --basetemp=/build/pytest-of-nixbld/pytest-0/test_mpi_tmpdir0/runpytest-0 --with-mpi
     in: /build/pytest-of-nixbld/pytest-0/test_mpi_tmpdir0
----------------------------- Captured stderr call -----------------------------
hwloc/linux: failed to find sysfs cpu topology directory, aborting linux discovery.
--------------------------------------------------------------------------
The value of the MCA parameter "plm_rsh_agent" was set to a path
that could not be found:

  plm_rsh_agent: ssh : rsh

Please either unset the parameter, or check that the path is correct
--------------------------------------------------------------------------
[localhost:00144] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error plm_rsh_component.c(335)
______________________________ test_mpi_tmp_path _______________________________

mpi_testdir = <conftest.MPITestdir object at 0x7ffff656f890>, has_mpi4py = False

    def test_mpi_tmp_path(mpi_testdir, has_mpi4py):
        mpi_testdir.makepyfile(MPI_TMP_PATH_TEST_CODE)

        result = mpi_testdir.runpytest("--with-mpi", timeout=5)

        if has_mpi4py:
            result.assert_outcomes(passed=1)
        else:
>           result.assert_outcomes(**_fix_plural(errors=1))

/build/source/tests/test_fixtures.py:83: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:568: in parseoutcomes
    return self.parse_summary_nouns(self.outlines)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class '_pytest.pytester.RunResult'>, lines = []

    @classmethod
    def parse_summary_nouns(cls, lines) -> Dict[str, int]:
        """Extract the nouns from a pytest terminal summary line.

        It always returns the plural noun for consistency::

            ======= 1 failed, 1 passed, 1 warning, 1 error in 0.13s ====

        Will return ``{"failed": 1, "passed": 1, "warnings": 1, "errors": 1}``.
        """
        for line in reversed(lines):
            if rex_session_duration.search(line):
                outcomes = rex_outcome.findall(line)
                ret = {noun: int(count) for (count, noun) in outcomes}
                break
        else:
>           raise ValueError("Pytest terminal summary report not found")
E           ValueError: Pytest terminal summary report not found

/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:586: ValueError
------------------------------ Captured log setup ------------------------------
WARNING  conftest:conftest.py:34 To run the MPI tests, you need to use subprocesses
----------------------------- Captured stdout call -----------------------------
running: mpirun -n 2 /nix/store/z7xxy35k7620hs6fn6la5fg2lgklv72l-python3-3.12.4/bin/python3.12 -mpytest --basetemp=/build/pytest-of-nixbld/pytest-0/test_mpi_tmp_path0/runpytest-0 --with-mpi
     in: /build/pytest-of-nixbld/pytest-0/test_mpi_tmp_path0
----------------------------- Captured stderr call -----------------------------
hwloc/linux: failed to find sysfs cpu topology directory, aborting linux discovery.
--------------------------------------------------------------------------
The value of the MCA parameter "plm_rsh_agent" was set to a path
that could not be found:

  plm_rsh_agent: ssh : rsh

Please either unset the parameter, or check that the path is correct
--------------------------------------------------------------------------
[localhost:00145] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error plm_rsh_component.c(335)
______________________________ test_mpi_with_mpi _______________________________

mpi_testdir = <conftest.MPITestdir object at 0x7ffff64a0080>, has_mpi4py = False

    def test_mpi_with_mpi(mpi_testdir, has_mpi4py):
        mpi_testdir.makepyfile(MPI_TEST_CODE)

        result = mpi_testdir.runpytest("--with-mpi")

        if has_mpi4py:
            result.assert_outcomes(**_fix_plural(passed=3, errors=1, skipped=1))
        else:
>           result.assert_outcomes(**_fix_plural(passed=1, errors=4))

/build/source/tests/test_markers.py:74: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:568: in parseoutcomes
    return self.parse_summary_nouns(self.outlines)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class '_pytest.pytester.RunResult'>, lines = []

    @classmethod
    def parse_summary_nouns(cls, lines) -> Dict[str, int]:
        """Extract the nouns from a pytest terminal summary line.

        It always returns the plural noun for consistency::

            ======= 1 failed, 1 passed, 1 warning, 1 error in 0.13s ====

        Will return ``{"failed": 1, "passed": 1, "warnings": 1, "errors": 1}``.
        """
        for line in reversed(lines):
            if rex_session_duration.search(line):
                outcomes = rex_outcome.findall(line)
                ret = {noun: int(count) for (count, noun) in outcomes}
                break
        else:
>           raise ValueError("Pytest terminal summary report not found")
E           ValueError: Pytest terminal summary report not found

/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:586: ValueError
------------------------------ Captured log setup ------------------------------
WARNING  conftest:conftest.py:34 To run the MPI tests, you need to use subprocesses
----------------------------- Captured stdout call -----------------------------
running: mpirun -n 2 /nix/store/z7xxy35k7620hs6fn6la5fg2lgklv72l-python3-3.12.4/bin/python3.12 -mpytest --basetemp=/build/pytest-of-nixbld/pytest-0/test_mpi_with_mpi0/runpytest-0 --with-mpi
     in: /build/pytest-of-nixbld/pytest-0/test_mpi_with_mpi0
----------------------------- Captured stderr call -----------------------------
hwloc/linux: failed to find sysfs cpu topology directory, aborting linux discovery.
--------------------------------------------------------------------------
The value of the MCA parameter "plm_rsh_agent" was set to a path
that could not be found:

  plm_rsh_agent: ssh : rsh

Please either unset the parameter, or check that the path is correct
--------------------------------------------------------------------------
[localhost:00146] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error plm_rsh_component.c(335)
______________________________ test_mpi_only_mpi _______________________________

mpi_testdir = <conftest.MPITestdir object at 0x7ffff66bfd70>, has_mpi4py = False

    def test_mpi_only_mpi(mpi_testdir, has_mpi4py):
        mpi_testdir.makepyfile(MPI_TEST_CODE)

        result = mpi_testdir.runpytest("--only-mpi")

        if has_mpi4py:
            result.assert_outcomes(**_fix_plural(passed=2, errors=1, skipped=2))
        else:
>           result.assert_outcomes(**_fix_plural(errors=4, skipped=1))

/build/source/tests/test_markers.py:85: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:568: in parseoutcomes
    return self.parse_summary_nouns(self.outlines)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class '_pytest.pytester.RunResult'>, lines = []

    @classmethod
    def parse_summary_nouns(cls, lines) -> Dict[str, int]:
        """Extract the nouns from a pytest terminal summary line.

        It always returns the plural noun for consistency::

            ======= 1 failed, 1 passed, 1 warning, 1 error in 0.13s ====

        Will return ``{"failed": 1, "passed": 1, "warnings": 1, "errors": 1}``.
        """
        for line in reversed(lines):
            if rex_session_duration.search(line):
                outcomes = rex_outcome.findall(line)
                ret = {noun: int(count) for (count, noun) in outcomes}
                break
        else:
>           raise ValueError("Pytest terminal summary report not found")
E           ValueError: Pytest terminal summary report not found

/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:586: ValueError
------------------------------ Captured log setup ------------------------------
WARNING  conftest:conftest.py:34 To run the MPI tests, you need to use subprocesses
----------------------------- Captured stdout call -----------------------------
running: mpirun -n 2 /nix/store/z7xxy35k7620hs6fn6la5fg2lgklv72l-python3-3.12.4/bin/python3.12 -mpytest --basetemp=/build/pytest-of-nixbld/pytest-0/test_mpi_only_mpi0/runpytest-0 --only-mpi
     in: /build/pytest-of-nixbld/pytest-0/test_mpi_only_mpi0
----------------------------- Captured stderr call -----------------------------
hwloc/linux: failed to find sysfs cpu topology directory, aborting linux discovery.
--------------------------------------------------------------------------
The value of the MCA parameter "plm_rsh_agent" was set to a path
that could not be found:

  plm_rsh_agent: ssh : rsh

Please either unset the parameter, or check that the path is correct
--------------------------------------------------------------------------
[localhost:00147] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error plm_rsh_component.c(335)
___________________________ test_mpi_skip_under_mpi ____________________________

mpi_testdir = <conftest.MPITestdir object at 0x7ffff6481490>

    def test_mpi_skip_under_mpi(mpi_testdir):
        mpi_testdir.makepyfile(MPI_SKIP_TEST_CODE)

        result = mpi_testdir.runpytest("--with-mpi")

>       result.assert_outcomes(skipped=1)

/build/source/tests/test_markers.py:101: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:568: in parseoutcomes
    return self.parse_summary_nouns(self.outlines)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class '_pytest.pytester.RunResult'>, lines = []

    @classmethod
    def parse_summary_nouns(cls, lines) -> Dict[str, int]:
        """Extract the nouns from a pytest terminal summary line.

        It always returns the plural noun for consistency::

            ======= 1 failed, 1 passed, 1 warning, 1 error in 0.13s ====

        Will return ``{"failed": 1, "passed": 1, "warnings": 1, "errors": 1}``.
        """
        for line in reversed(lines):
            if rex_session_duration.search(line):
                outcomes = rex_outcome.findall(line)
                ret = {noun: int(count) for (count, noun) in outcomes}
                break
        else:
>           raise ValueError("Pytest terminal summary report not found")
E           ValueError: Pytest terminal summary report not found

/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:586: ValueError
------------------------------ Captured log setup ------------------------------
WARNING  conftest:conftest.py:34 To run the MPI tests, you need to use subprocesses
----------------------------- Captured stdout call -----------------------------
running: mpirun -n 2 /nix/store/z7xxy35k7620hs6fn6la5fg2lgklv72l-python3-3.12.4/bin/python3.12 -mpytest --basetemp=/build/pytest-of-nixbld/pytest-0/test_mpi_skip_under_mpi0/runpytest-0 --with-mpi
     in: /build/pytest-of-nixbld/pytest-0/test_mpi_skip_under_mpi0
----------------------------- Captured stderr call -----------------------------
hwloc/linux: failed to find sysfs cpu topology directory, aborting linux discovery.
--------------------------------------------------------------------------
The value of the MCA parameter "plm_rsh_agent" was set to a path
that could not be found:

  plm_rsh_agent: ssh : rsh

Please either unset the parameter, or check that the path is correct
--------------------------------------------------------------------------
[localhost:00148] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error plm_rsh_component.c(335)
___________________________ test_mpi_xfail_under_mpi ___________________________

mpi_testdir = <conftest.MPITestdir object at 0x7ffff64d38f0>, has_mpi4py = False

    def test_mpi_xfail_under_mpi(mpi_testdir, has_mpi4py):
        mpi_testdir.makepyfile(MPI_XFAIL_TEST_CODE)

        result = mpi_testdir.runpytest("--with-mpi")

        if has_mpi4py:
            result.assert_outcomes(xfailed=1)
        else:
>           result.assert_outcomes(xpassed=1)

/build/source/tests/test_markers.py:120: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:568: in parseoutcomes
    return self.parse_summary_nouns(self.outlines)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class '_pytest.pytester.RunResult'>, lines = []

    @classmethod
    def parse_summary_nouns(cls, lines) -> Dict[str, int]:
        """Extract the nouns from a pytest terminal summary line.

        It always returns the plural noun for consistency::

            ======= 1 failed, 1 passed, 1 warning, 1 error in 0.13s ====

        Will return ``{"failed": 1, "passed": 1, "warnings": 1, "errors": 1}``.
        """
        for line in reversed(lines):
            if rex_session_duration.search(line):
                outcomes = rex_outcome.findall(line)
                ret = {noun: int(count) for (count, noun) in outcomes}
                break
        else:
>           raise ValueError("Pytest terminal summary report not found")
E           ValueError: Pytest terminal summary report not found

/nix/store/6m4rxk7rn1ncads8mfjp55hxphzyfr2j-python3.12-pytest-8.2.2/lib/python3.12/site-packages/_pytest/pytester.py:586: ValueError
------------------------------ Captured log setup ------------------------------
WARNING  conftest:conftest.py:34 To run the MPI tests, you need to use subprocesses
----------------------------- Captured stdout call -----------------------------
running: mpirun -n 2 /nix/store/z7xxy35k7620hs6fn6la5fg2lgklv72l-python3-3.12.4/bin/python3.12 -mpytest --basetemp=/build/pytest-of-nixbld/pytest-0/test_mpi_xfail_under_mpi0/runpytest-0 --with-mpi
     in: /build/pytest-of-nixbld/pytest-0/test_mpi_xfail_under_mpi0
----------------------------- Captured stderr call -----------------------------
hwloc/linux: failed to find sysfs cpu topology directory, aborting linux discovery.
--------------------------------------------------------------------------
The value of the MCA parameter "plm_rsh_agent" was set to a path
that could not be found:

  plm_rsh_agent: ssh : rsh

Please either unset the parameter, or check that the path is correct
--------------------------------------------------------------------------
[localhost:00149] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error plm_rsh_component.c(335)
=============================== warnings summary ===============================
tests/test_fixtures.py::test_mpi_file_name
tests/test_fixtures.py::test_mpi_tmpdir
tests/test_fixtures.py::test_mpi_tmp_path
tests/test_markers.py::test_mpi_with_mpi
tests/test_markers.py::test_mpi_only_mpi
tests/test_markers.py::test_mpi_skip_under_mpi
tests/test_markers.py::test_mpi_xfail_under_mpi
  /build/source/tests/conftest.py:34: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
    log.warn("To run the MPI tests, you need to use subprocesses")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_fixtures.py::test_mpi_file_name - ValueError: Pytest terminal summary report not found
FAILED tests/test_fixtures.py::test_mpi_tmpdir - ValueError: Pytest terminal summary report not found
FAILED tests/test_fixtures.py::test_mpi_tmp_path - ValueError: Pytest terminal summary report not found
FAILED tests/test_markers.py::test_mpi_with_mpi - ValueError: Pytest terminal summary report not found
FAILED tests/test_markers.py::test_mpi_only_mpi - ValueError: Pytest terminal summary report not found
FAILED tests/test_markers.py::test_mpi_skip_under_mpi - ValueError: Pytest terminal summary report not found
FAILED tests/test_markers.py::test_mpi_xfail_under_mpi - ValueError: Pytest terminal summary report not found
=================== 7 failed, 6 passed, 7 warnings in 1.59s ====================
/nix/store/5r0df66ikad3xw06azlqvswcvncll8wa-stdenv-linux/setup: line 1641: pop_var_context: head of shell_variables not a function context

Did I understand correctly that mpi4py is a dependency for the tests? Because this issue of it prevents me from packaging it and using it as well with our openmpi 4/5.