==> Building on centiskorch ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-pytest-mpi ./ .SRCINFO 649 100% 0.00kB/s 0:00:00 649 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 56 100% 54.69kB/s 0:00:00 56 100% 54.69kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 1,143 100% 1.09MB/s 0:00:00 1,143 100% 1.09MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) python-pytest-mpi-0.6-7.log 255 100% 249.02kB/s 0:00:00 255 100% 249.02kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 2,352 bytes received 193 bytes 1,696.67 bytes/sec total size is 3,077 speedup is 1.21 ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building python-pytest-mpi  -> repo: extra  -> arch: riscv64  -> worker: felix-6 ==> Building python-pytest-mpi for [extra] (riscv64) ]3008;start=4494db835f2c4569a9675127ef6bcf20;user=root;hostname=centiskorch.felixc.at;machineid=1a94f69a1f9e480395692a8eaa8e4813;bootid=5771705e949c4754b40ed390230962ed;pid=1125880;pidfdid=1125881;comm=systemd-nspawn;container=arch-nspawn-1125880;type=container\]11;?\]2;🔵 Container arch-nspawn-1125880 on centiskorch.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h[!p]104\[?7h]3008;end=4494db835f2c4569a9675127ef6bcf20\==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-6]...done ==> Making package: python-pytest-mpi 0.6-7 (Mon Mar 2 07:26:35 2026) ==> Retrieving sources...  -> Downloading python-pytest-mpi-0.6.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 41629 0 41629 0 0 24829 0 00:01 0 100 41629 0 41629 0 0 24817 0 00:01 0 100 41629 0 41629 0 0 24808 0 00:01 0 ==> Validating source files with b2sums... python-pytest-mpi-0.6.tar.gz ... Passed ]3008;start=5fc7db43648f47788bcfe9b78b9ac706;user=root;hostname=centiskorch.felixc.at;machineid=1a94f69a1f9e480395692a8eaa8e4813;bootid=5771705e949c4754b40ed390230962ed;pid=1127306;pidfdid=1127307;comm=systemd-nspawn;container=arch-nspawn-1127306;type=container\]11;?\]2;🔵 Container arch-nspawn-1127306 on centiskorch.felixc.at\==> Making package: python-pytest-mpi 0.6-7 (Mon Mar 2 12:27:01 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (17) New Version Net Change Download Size extra/hwloc 2.12.2-1 1.50 MiB extra/libfabric 2.4.0-1 7.10 MiB core/libnl 3.12.0-1 1.91 MiB extra/libpciaccess 0.18.1-2 0.05 MiB core/mpdecimal 4.0.1-1 0.31 MiB extra/numactl 2.0.19-1 0.20 MiB extra/openmpi 5.0.9-3 9.26 MiB extra/openpmix 5.0.10-1 3.58 MiB extra/openucx 1.20.0-1 6.49 MiB extra/prrte 3.0.13-1 1.89 MiB extra/python-iniconfig 2.1.0-3.1 0.05 MiB extra/python-packaging 26.0-1 0.89 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-pygments 2.19.2-3 15.30 MiB core/python 3.14.3-1 132.79 MiB extra/python-mpi4py 4.1.1-2 2.85 MiB 0.79 MiB extra/python-pytest 1:8.4.2-3 4.69 MiB Total Download Size: 0.79 MiB Total Installed Size: 189.10 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-mpi4py-4.1.1-2-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing libpciaccess... installing hwloc... Optional dependencies for hwloc cairo: PDF, Postscript, and PNG export support libxml2: full XML import/export support [installed] installing numactl... installing libfabric... installing libnl... installing openpmix... Optional dependencies for openpmix openpmix-docs: for documentation installing openucx... Optional dependencies for openucx rdma-core: for InfiniBand and RDMA support rocm-language-runtime: for ROCm support installing prrte... Optional dependencies for prrte openssh: for execution on remote hosts via plm_ssh_agent prrte-docs: for documentation installing openmpi... Optional dependencies for openmpi hip-runtime-amd: ROCm support gcc-fortran: fortran support openssh: for execution on remote hosts via plm_ssh_agent installing python-mpi4py... installing python-iniconfig... installing python-packaging... installing python-pluggy... installing python-pygments... installing python-pytest... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (13) New Version Net Change Download Size extra/python-autocommand 2.2.2-9 0.08 MiB extra/python-jaraco.collections 5.1.0-3 0.11 MiB extra/python-jaraco.context 6.0.1-3 0.04 MiB extra/python-jaraco.functools 4.1.0-3 0.07 MiB extra/python-jaraco.text 4.0.0-4 0.08 MiB extra/python-more-itertools 10.8.0-2 0.73 MiB extra/python-platformdirs 4.9.3-1 0.40 MiB extra/python-pyproject-hooks 1.2.0-6 0.11 MiB extra/python-wheel 0.46.3-1 0.31 MiB extra/python-build 1.4.0-1 0.24 MiB extra/python-installer 0.7.0-14 0.20 MiB extra/python-setuptools 1:80.9.0-4 8.03 MiB extra/python-sybil 6.1.0-2 0.36 MiB 0.07 MiB Total Download Size: 0.07 MiB Total Installed Size: 10.75 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-sybil-6.1.0-2-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... installing python-more-itertools... installing python-jaraco.functools... installing python-jaraco.context... installing python-autocommand... installing python-jaraco.text... Optional dependencies for python-jaraco.text python-inflect: for show-newlines script installing python-jaraco.collections... installing python-platformdirs... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures python-setuptools: for legacy bdist_wheel subcommand [pending] installing python-setuptools... installing python-sybil... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Retrieving sources...  -> Found python-pytest-mpi-0.6.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting python-pytest-mpi-0.6.tar.gz with bsdtar ==> Starting build()... * Getting build dependencies for wheel... :9: DeprecationWarning: codecs.open() is deprecated. Use open() instead. /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running egg_info creating src/pytest_mpi.egg-info writing src/pytest_mpi.egg-info/PKG-INFO writing dependency_links to src/pytest_mpi.egg-info/dependency_links.txt writing entry points to src/pytest_mpi.egg-info/entry_points.txt writing requirements to src/pytest_mpi.egg-info/requires.txt writing top-level names to src/pytest_mpi.egg-info/top_level.txt writing manifest file 'src/pytest_mpi.egg-info/SOURCES.txt' reading manifest file 'src/pytest_mpi.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files found matching 'known_broken_constraints.txt' warning: no previously-included files found matching 'old_pytest.txt' warning: no previously-included files matching '*' found under directory 'docs/_build' warning: no files found matching 'test-requirements.txt' warning: no previously-included files found matching 'TODO' no previously-included directories found matching '**/__pycache__' no previously-included directories found matching '**/*.pyc' no previously-included directories found matching '**/*.swp' no previously-included directories found matching '**/*.swo' warning: no previously-included files found matching 'bors.toml' warning: no previously-included files found matching 'azure-pipelines.yml' warning: no previously-included files found matching 'codecov.yml' warning: no previously-included files matching '*' found under directory 'ci' adding license file 'LICENSE.txt' writing manifest file 'src/pytest_mpi.egg-info/SOURCES.txt' * Building wheel... :9: DeprecationWarning: codecs.open() is deprecated. Use open() instead. /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running bdist_wheel The [wheel] section is deprecated. Use [bdist_wheel] instead. /usr/lib/python3.14/site-packages/setuptools/_distutils/cmd.py:135: SetuptoolsDeprecationWarning: bdist_wheel.universal is deprecated !! ******************************************************************************** With Python 2.7 end-of-life, support for building universal wheels (i.e., wheels that support both Python 2 and Python 3) is being obviated. Please discontinue using this option, or if you still need it, file an issue with pypa/setuptools describing your use case. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. ******************************************************************************** !! self.finalize_options() running build running build_py creating build/lib/pytest_mpi copying src/pytest_mpi/_helpers.py -> build/lib/pytest_mpi copying src/pytest_mpi/_version.py -> build/lib/pytest_mpi copying src/pytest_mpi/__init__.py -> build/lib/pytest_mpi UPDATING build/lib/pytest_mpi/_version.py set build/lib/pytest_mpi/_version.py to '0.6' installing to build/bdist.linux-riscv64/wheel running install running install_lib creating build/bdist.linux-riscv64/wheel creating build/bdist.linux-riscv64/wheel/pytest_mpi copying build/lib/pytest_mpi/_helpers.py -> build/bdist.linux-riscv64/wheel/./pytest_mpi copying build/lib/pytest_mpi/_version.py -> build/bdist.linux-riscv64/wheel/./pytest_mpi copying build/lib/pytest_mpi/__init__.py -> build/bdist.linux-riscv64/wheel/./pytest_mpi running install_egg_info running egg_info writing src/pytest_mpi.egg-info/PKG-INFO writing dependency_links to src/pytest_mpi.egg-info/dependency_links.txt writing entry points to src/pytest_mpi.egg-info/entry_points.txt writing requirements to src/pytest_mpi.egg-info/requires.txt writing top-level names to src/pytest_mpi.egg-info/top_level.txt reading manifest file 'src/pytest_mpi.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files found matching 'known_broken_constraints.txt' warning: no previously-included files found matching 'old_pytest.txt' warning: no previously-included files matching '*' found under directory 'docs/_build' warning: no files found matching 'test-requirements.txt' warning: no previously-included files found matching 'TODO' no previously-included directories found matching '**/__pycache__' no previously-included directories found matching '**/*.pyc' no previously-included directories found matching '**/*.swp' no previously-included directories found matching '**/*.swo' warning: no previously-included files found matching 'bors.toml' warning: no previously-included files found matching 'azure-pipelines.yml' warning: no previously-included files found matching 'codecov.yml' warning: no previously-included files matching '*' found under directory 'ci' adding license file 'LICENSE.txt' writing manifest file 'src/pytest_mpi.egg-info/SOURCES.txt' Copying src/pytest_mpi.egg-info to build/bdist.linux-riscv64/wheel/./pytest_mpi-0.6-py3.14.egg-info running install_scripts creating build/bdist.linux-riscv64/wheel/pytest_mpi-0.6.dist-info/WHEEL creating '/build/python-pytest-mpi/src/pytest-mpi-0.6/dist/.tmp-7huxdeo3/pytest_mpi-0.6-py2.py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it adding 'pytest_mpi/__init__.py' adding 'pytest_mpi/_helpers.py' adding 'pytest_mpi/_version.py' adding 'pytest_mpi-0.6.dist-info/licenses/LICENSE.txt' adding 'pytest_mpi-0.6.dist-info/METADATA' adding 'pytest_mpi-0.6.dist-info/WHEEL' adding 'pytest_mpi-0.6.dist-info/entry_points.txt' adding 'pytest_mpi-0.6.dist-info/top_level.txt' adding 'pytest_mpi-0.6.dist-info/RECORD' removing build/bdist.linux-riscv64/wheel Successfully built pytest_mpi-0.6-py2.py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 -- /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/bin/python cachedir: .pytest_cache rootdir: /build/python-pytest-mpi/src/pytest-mpi-0.6 plugins: mpi-0.6 collecting ... collected 10 items tests/test_fixtures.py::test_mpi_file_name FAILED [ 10%] tests/test_fixtures.py::test_mpi_tmpdir FAILED [ 20%] tests/test_fixtures.py::test_mpi_tmp_path FAILED [ 30%] tests/test_markers.py::test_mpi PASSED [ 40%] tests/test_markers.py::test_mpi_with_mpi FAILED [ 50%] tests/test_markers.py::test_mpi_only_mpi FAILED [ 60%] tests/test_markers.py::test_mpi_skip PASSED [ 70%] tests/test_markers.py::test_mpi_skip_under_mpi PASSED [ 80%] tests/test_markers.py::test_mpi_xfail PASSED [ 90%] tests/test_markers.py::test_mpi_xfail_under_mpi FAILED [100%] =================================== FAILURES =================================== ______________________________ test_mpi_file_name ______________________________ mpi_testdir = , has_mpi4py = True 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) E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 0, 'errors': 1, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0} E E Common items: E {'failed': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0} E Differing items: E {'errors': 1} != {'errors': 0} E {'passed': 0} != {'passed': 1} E E Full diff: E { E - 'errors': 0, E ? ^ E + 'errors': 1, E ? ^ E 'failed': 0, E - 'passed': 1, E ? ^ E + 'passed': 0, E ? ^ E 'skipped': 0, E 'xfailed': 0, E 'xpassed': 0, E } /build/python-pytest-mpi/src/pytest-mpi-0.6/tests/test_fixtures.py:59: AssertionError ----------------------------- Captured stdout call ----------------------------- running: mpirun -n 2 /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/bin/python -mpytest --basetemp=/tmp/pytest-of-builduser/pytest-0/test_mpi_file_name0/runpytest-0 --with-mpi in: /tmp/pytest-of-builduser/pytest-0/test_mpi_file_name0 ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_file_name0 plugins: mpi-0.6 collecting ... rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_file_name0 plugins: mpi-0.6 collecting ... collected 1 item test_mpi_file_name.py collected 1 item test_mpi_file_name.py E [100%] ==================================== ERRORS ==================================== _______________________ ERROR at setup of test_file_name _______________________ tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_mpi_file_name0/runpytest-0/test_file_name0') request = > @pytest.fixture def mpi_file_name(tmpdir, request): """ Provides a temporary file name which can be used under MPI from all MPI processes. This function avoids the need to ensure that only one process handles the naming of temporary files. """ try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:158: ImportError During handling of the above exception, another exception occurred: tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_mpi_file_name0/runpytest-0/test_file_name0') request = > @pytest.fixture def mpi_file_name(tmpdir, request): """ Provides a temporary file name which can be used under MPI from all MPI processes. This function avoids the need to ensure that only one process handles the naming of temporary files. """ try: from mpi4py import MPI except ImportError: > pytest.fail("mpi4py needs to be installed to run this test") E Failed: mpi4py needs to be installed to run this test /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:160: Failed =============================== MPI Information ================================ Unable to import mpi4py=========================== short test summary info ============================ ERROR test_mpi_file_name.py::test_file_name - Failed: mpi4py needs to be inst... =============================== 1 error in 0.35s =============================== E [100%] ==================================== ERRORS ==================================== _______________________ ERROR at setup of test_file_name _______________________ tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_mpi_file_name0/runpytest-0/test_file_name0') request = > @pytest.fixture def mpi_file_name(tmpdir, request): """ Provides a temporary file name which can be used under MPI from all MPI processes. This function avoids the need to ensure that only one process handles the naming of temporary files. """ try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:158: ImportError During handling of the above exception, another exception occurred: tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_mpi_file_name0/runpytest-0/test_file_name0') request = > @pytest.fixture def mpi_file_name(tmpdir, request): """ Provides a temporary file name which can be used under MPI from all MPI processes. This function avoids the need to ensure that only one process handles the naming of temporary files. """ try: from mpi4py import MPI except ImportError: > pytest.fail("mpi4py needs to be installed to run this test") E Failed: mpi4py needs to be installed to run this test /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:160: Failed =============================== MPI Information ================================ Unable to import mpi4py=========================== short test summary info ============================ ERROR test_mpi_file_name.py::test_file_name - Failed: mpi4py needs to be inst... =============================== 1 error in 0.37s =============================== ----------------------------- Captured stderr call ----------------------------- -------------------------------------------------------------------------- prterun detected that one or more processes exited with non-zero status, thus causing the job to be terminated. The first process to do so was: Process name: [prterun-arch-nspawn-1127306-1124@1,0] Exit code: 1 -------------------------------------------------------------------------- _______________________________ test_mpi_tmpdir ________________________________ mpi_testdir = , has_mpi4py = True 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) E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 0, 'errors': 1, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0} E E Common items: E {'failed': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0} E Differing items: E {'errors': 1} != {'errors': 0} E {'passed': 0} != {'passed': 1} E E Full diff: E { E - 'errors': 0, E ? ^ E + 'errors': 1, E ? ^ E 'failed': 0, E - 'passed': 1, E ? ^ E + 'passed': 0, E ? ^ E 'skipped': 0, E 'xfailed': 0, E 'xpassed': 0, E } /build/python-pytest-mpi/src/pytest-mpi-0.6/tests/test_fixtures.py:70: AssertionError ----------------------------- Captured stdout call ----------------------------- running: mpirun -n 2 /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/bin/python -mpytest --basetemp=/tmp/pytest-of-builduser/pytest-0/test_mpi_tmpdir0/runpytest-0 --with-mpi in: /tmp/pytest-of-builduser/pytest-0/test_mpi_tmpdir0 ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_tmpdir0 plugins: mpi-0.6 collecting ... rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_tmpdir0 plugins: mpi-0.6 collecting ... collected 1 item test_mpi_tmpdir.py collected 1 item test_mpi_tmpdir.py E [100%]E [100%] ==================================== ERRORS ==================================== _______________________ ERROR at setup of test_file_name _______________________ tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_mpi_tmpdir0/runpytest-0/test_file_name0') @pytest.fixture def mpi_tmpdir(tmpdir): """ Wraps `pytest.tmpdir` so that it can be used under MPI from all MPI processes. This function avoids the need to ensure that only one process handles the naming of temporary folders. """ try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:182: ImportError During handling of the above exception, another exception occurred: tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_mpi_tmpdir0/runpytest-0/test_file_name0') @pytest.fixture def mpi_tmpdir(tmpdir): """ Wraps `pytest.tmpdir` so that it can be used under MPI from all MPI processes. ==================================== ERRORS ==================================== _______________________ ERROR at setup of test_file_name _______________________ This function avoids the need to ensure that only one process handles the naming of temporary folders. """ try: from mpi4py import MPI except ImportError: > pytest.fail("mpi4py needs to be installed to run this test") E Failed: mpi4py needs to be installed to run this test tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_mpi_tmpdir0/runpytest-0/test_file_name0') @pytest.fixture def mpi_tmpdir(tmpdir): /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:184: Failed =============================== MPI Information ================================ """ Wraps `pytest.tmpdir` so that it can be used under MPI from all MPI processes. This function avoids the need to ensure that only one process handles the naming of temporary folders. """ try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:182: ImportError During handling of the above exception, another exception occurred: tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_mpi_tmpdir0/runpytest-0/test_file_name0') @pytest.fixture def mpi_tmpdir(tmpdir): """ Wraps `pytest.tmpdir` so that it can be used under MPI from all MPI processes. This function avoids the need to ensure that only one process handles the naming of temporary folders. """ try: from mpi4py import MPI except ImportError: > pytest.fail("mpi4py needs to be installed to run this test") E Failed: mpi4py needs to be installed to run this test /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:184: Failed =============================== MPI Information ================================ Unable to import mpi4py=========================== short test summary info ============================ ERROR test_mpi_tmpdir.py::test_file_name - Failed: mpi4py needs to be install... =============================== 1 error in 0.33s =============================== Unable to import mpi4py=========================== short test summary info ============================ ERROR test_mpi_tmpdir.py::test_file_name - Failed: mpi4py needs to be install... =============================== 1 error in 0.33s =============================== ----------------------------- Captured stderr call ----------------------------- -------------------------------------------------------------------------- prterun detected that one or more processes exited with non-zero status, thus causing the job to be terminated. The first process to do so was: Process name: [prterun-arch-nspawn-1127306-1129@1,1] Exit code: 1 -------------------------------------------------------------------------- ______________________________ test_mpi_tmp_path _______________________________ mpi_testdir = , has_mpi4py = True 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) E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 0, 'errors': 1, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0} E E Common items: E {'failed': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0} E Differing items: E {'errors': 1} != {'errors': 0} E {'passed': 0} != {'passed': 1} E E Full diff: E { E - 'errors': 0, E ? ^ E + 'errors': 1, E ? ^ E 'failed': 0, E - 'passed': 1, E ? ^ E + 'passed': 0, E ? ^ E 'skipped': 0, E 'xfailed': 0, E 'xpassed': 0, E } /build/python-pytest-mpi/src/pytest-mpi-0.6/tests/test_fixtures.py:81: AssertionError ----------------------------- Captured stdout call ----------------------------- running: mpirun -n 2 /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/bin/python -mpytest --basetemp=/tmp/pytest-of-builduser/pytest-0/test_mpi_tmp_path0/runpytest-0 --with-mpi in: /tmp/pytest-of-builduser/pytest-0/test_mpi_tmp_path0 ============================= test session starts ============================== ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_tmp_path0 plugins: mpi-0.6 rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_tmp_path0 plugins: mpi-0.6 collecting ... collecting ... collected 1 item collected 1 item test_mpi_tmp_path.py test_mpi_tmp_path.py E [100%] ==================================== ERRORS ==================================== _______________________ ERROR at setup of test_file_name _______________________ tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/test_mpi_tmp_path0/runpytest-0/test_file_name0') @pytest.fixture def mpi_tmp_path(tmp_path): """ Wraps `pytest.tmp_path` so that it can be used under MPI from all MPI processes. This function avoids the need to ensure that only one process handles the naming of temporary folders. """ try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:206: ImportError During handling of the above exception, another exception occurred: tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/test_mpi_tmp_path0/runpytest-0/test_file_name0') @pytest.fixture def mpi_tmp_path(tmp_path): """ Wraps `pytest.tmp_path` so that it can be used under MPI from all MPI processes. This function avoids the need to ensure that only one process handles the naming of temporary folders. """ try: from mpi4py import MPI except ImportError: > pytest.fail("mpi4py needs to be installed to run this test") E Failed: mpi4py needs to be installed to run this test /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:208: Failed =============================== MPI Information ================================ Unable to import mpi4py=========================== short test summary info ============================ ERROR test_mpi_tmp_path.py::test_file_name - Failed: mpi4py needs to be insta... =============================== 1 error in 0.31s =============================== E [100%] ==================================== ERRORS ==================================== _______________________ ERROR at setup of test_file_name _______________________ self = PosixPath('/tmp/pytest-of-builduser/pytest-0/test_mpi_tmp_path0/runpytest-0') mode = 448, parents = False, exist_ok = False def mkdir(self, mode=0o777, parents=False, exist_ok=False): """ Create a new directory at this given path. """ try: > os.mkdir(self, mode) E FileExistsError: [Errno 17] File exists: '/tmp/pytest-of-builduser/pytest-0/test_mpi_tmp_path0/runpytest-0' /usr/lib/python3.14/pathlib/__init__.py:1011: FileExistsError =============================== MPI Information ================================ Unable to import mpi4py=========================== short test summary info ============================ ERROR test_mpi_tmp_path.py::test_file_name - FileExistsError: [Errno 17] File... =============================== 1 error in 0.40s =============================== ----------------------------- Captured stderr call ----------------------------- -------------------------------------------------------------------------- prterun detected that one or more processes exited with non-zero status, thus causing the job to be terminated. The first process to do so was: Process name: [prterun-arch-nspawn-1127306-1134@1,1] Exit code: 1 -------------------------------------------------------------------------- ______________________________ test_mpi_with_mpi _______________________________ mpi_testdir = , has_mpi4py = True 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)) E AssertionError: assert {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 4, 'xpassed': 0, 'xfailed': 0} == {'passed': 3, 'skipped': 1, 'failed': 0, 'errors': 1, 'xpassed': 0, 'xfailed': 0} E E Common items: E {'failed': 0, 'xfailed': 0, 'xpassed': 0} E Differing items: E {'errors': 4} != {'errors': 1} E {'passed': 1} != {'passed': 3} E {'skipped': 0} != {'skipped': 1} E E Full diff: E { E - 'errors': 1, E ? ^ E + 'errors': 4, E ? ^ E 'failed': 0, E - 'passed': 3, E ? ^ E + 'passed': 1, E ? ^ E - 'skipped': 1, E ? ^ E + 'skipped': 0, E ? ^ E 'xfailed': 0, E 'xpassed': 0, E } /build/python-pytest-mpi/src/pytest-mpi-0.6/tests/test_markers.py:72: AssertionError ----------------------------- Captured stdout call ----------------------------- running: mpirun -n 2 /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/bin/python -mpytest --basetemp=/tmp/pytest-of-builduser/pytest-0/test_mpi_with_mpi0/runpytest-0 --with-mpi in: /tmp/pytest-of-builduser/pytest-0/test_mpi_with_mpi0 ============================= test session starts ============================== ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_with_mpi0 plugins: mpi-0.6 rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_with_mpi0 plugins: mpi-0.6 collecting ... collecting ... collected 5 items collected 5 items test_mpi_with_mpi.py test_mpi_with_mpi.py EEEEEEEE.. [100%] [100%] ==================================== ERRORS ==================================== ==================================== ERRORS ==================================== _________________________ ERROR at setup of test_size __________________________ _________________________ ERROR at setup of test_size __________________________ self = item = self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: > from mpi4py import MPI """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError During handling of the above exception, another exception occurred: During handling of the above exception, another exception occurred: self = item = self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: from mpi4py import MPI except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") if mark.args: raise ValueError("mpi mark does not take positional args") try: from mpi4py import MPI except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") E Failed: MPI tests require that mpi4py be installed E Failed: MPI tests require that mpi4py be installed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed ______________________ ERROR at setup of test_size_min_2 _______________________ ______________________ ERROR at setup of test_size_min_2 _______________________ self = item = self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError During handling of the above exception, another exception occurred: /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError During handling of the above exception, another exception occurred: self = item = self = item = def pytest_runtest_setup(self, item): def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): """ Hook for doing additional MPI-related checks on mpi marked tests """ if mark.args: raise ValueError("mpi mark does not take positional args") try: if self._testing_mpi(item.config): from mpi4py import MPI except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") E Failed: MPI tests require that mpi4py be installed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: from mpi4py import MPI except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") ______________________ ERROR at setup of test_size_min_4 _______________________ E Failed: MPI tests require that mpi4py be installed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed self = item = ______________________ ERROR at setup of test_size_min_4 _______________________ def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: > from mpi4py import MPI self = item = E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError def pytest_runtest_setup(self, item): """ During handling of the above exception, another exception occurred: self = Hook for doing additional MPI-related checks on mpi marked tests """ item = def pytest_runtest_setup(self, item): """ if self._testing_mpi(item.config): Hook for doing additional MPI-related checks on mpi marked tests for mark in item.iter_markers(name="mpi"): if mark.args: """ raise ValueError("mpi mark does not take positional args") try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: from mpi4py import MPI /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError During handling of the above exception, another exception occurred: except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") E Failed: MPI tests require that mpi4py be installed self = item = def pytest_runtest_setup(self, item): """ /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed _____________________ ERROR at setup of test_size_fail_pos _____________________ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: self = item = from mpi4py import MPI except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") E Failed: MPI tests require that mpi4py be installed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): _____________________ ERROR at setup of test_size_fail_pos _____________________ for mark in item.iter_markers(name="mpi"): if mark.args: > raise ValueError("mpi mark does not take positional args") E ValueError: mpi mark does not take positional args /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:133: ValueError self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: =============================== MPI Information ================================ > raise ValueError("mpi mark does not take positional args") E ValueError: mpi mark does not take positional args /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:133: ValueError =============================== MPI Information ================================ Unable to import mpi4py=========================== short test summary info ============================ ERROR test_mpi_with_mpi.py::test_size - Failed: MPI tests require that mpi4py... Unable to import mpi4py=========================== short test summary info ============================ ERROR test_mpi_with_mpi.py::test_size - Failed: MPI tests require that mpi4py... ERROR test_mpi_with_mpi.py::test_size_min_2 - Failed: MPI tests require that ... ERROR test_mpi_with_mpi.py::test_size_min_2 - Failed: MPI tests require that ... ERROR test_mpi_with_mpi.py::test_size_min_4 - Failed: MPI tests require that ... ERROR test_mpi_with_mpi.py::test_size_fail_pos - ValueError: mpi mark does no... ERROR test_mpi_with_mpi.py::test_size_min_4 - Failed: MPI tests require that ... ERROR test_mpi_with_mpi.py::test_size_fail_pos - ValueError: mpi mark does no... ========================= 1 passed, 4 errors in 0.49s ========================== ========================= 1 passed, 4 errors in 0.49s ========================== ----------------------------- Captured stderr call ----------------------------- -------------------------------------------------------------------------- prterun detected that one or more processes exited with non-zero status, thus causing the job to be terminated. The first process to do so was: Process name: [prterun-arch-nspawn-1127306-1140@1,0] Exit code: 1 -------------------------------------------------------------------------- ______________________________ test_mpi_only_mpi _______________________________ mpi_testdir = , has_mpi4py = True 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)) E AssertionError: assert {'passed': 0, 'skipped': 1, 'failed': 0, 'errors': 4, 'xpassed': 0, 'xfailed': 0} == {'passed': 2, 'skipped': 2, 'failed': 0, 'errors': 1, 'xpassed': 0, 'xfailed': 0} E E Common items: E {'failed': 0, 'xfailed': 0, 'xpassed': 0} E Differing items: E {'errors': 4} != {'errors': 1} E {'passed': 0} != {'passed': 2} E {'skipped': 1} != {'skipped': 2} E E Full diff: E { E - 'errors': 1, E ? ^ E + 'errors': 4, E ? ^ E 'failed': 0, E - 'passed': 2, E ? ^ E + 'passed': 0, E ? ^ E - 'skipped': 2, E ? ^ E + 'skipped': 1, E ? ^ E 'xfailed': 0, E 'xpassed': 0, E } /build/python-pytest-mpi/src/pytest-mpi-0.6/tests/test_markers.py:83: AssertionError ----------------------------- Captured stdout call ----------------------------- running: mpirun -n 2 /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/bin/python -mpytest --basetemp=/tmp/pytest-of-builduser/pytest-0/test_mpi_only_mpi0/runpytest-0 --only-mpi in: /tmp/pytest-of-builduser/pytest-0/test_mpi_only_mpi0 ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_only_mpi0 plugins: mpi-0.6 collecting ... rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_only_mpi0 plugins: mpi-0.6 collecting ... collected 5 items test_mpi_only_mpi.py collected 5 items test_mpi_only_mpi.py EEEEEEEs [100%]E ==================================== ERRORS ==================================== _________________________ ERROR at setup of test_size __________________________ s self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError During handling of the above exception, another exception occurred: [100%]self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: from mpi4py import MPI except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") E Failed: MPI tests require that mpi4py be installed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed ______________________ ERROR at setup of test_size_min_2 _______________________ self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") ==================================== ERRORS ==================================== try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory _________________________ ERROR at setup of test_size __________________________ /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError During handling of the above exception, another exception occurred: self = item = self = item = def pytest_runtest_setup(self, item): """ def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: from mpi4py import MPI > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") E Failed: MPI tests require that mpi4py be installed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed During handling of the above exception, another exception occurred: self = item = ______________________ ERROR at setup of test_size_min_4 _______________________ self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: > from mpi4py import MPI try: from mpi4py import MPI except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") E Failed: MPI tests require that mpi4py be installed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError During handling of the above exception, another exception occurred: ______________________ ERROR at setup of test_size_min_2 _______________________ self = item = self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory try: from mpi4py import MPI except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") E Failed: MPI tests require that mpi4py be installed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError During handling of the above exception, another exception occurred: /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed _____________________ ERROR at setup of test_size_fail_pos _____________________ self = item = self = item = def pytest_runtest_setup(self, item): def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: from mpi4py import MPI """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: > raise ValueError("mpi mark does not take positional args") except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") E Failed: MPI tests require that mpi4py be installed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed E ValueError: mpi mark does not take positional args /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:133: ValueError ______________________ ERROR at setup of test_size_min_4 _______________________ =============================== MPI Information ================================ self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: > from mpi4py import MPI E ImportError: libsframe.so.2: cannot open shared object file: No such file or directory /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:135: ImportError During handling of the above exception, another exception occurred: self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: raise ValueError("mpi mark does not take positional args") try: from mpi4py import MPI except ImportError: > pytest.fail("MPI tests require that mpi4py be installed") E Failed: MPI tests require that mpi4py be installed /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:137: Failed _____________________ ERROR at setup of test_size_fail_pos _____________________ self = item = def pytest_runtest_setup(self, item): """ Hook for doing additional MPI-related checks on mpi marked tests """ if self._testing_mpi(item.config): for mark in item.iter_markers(name="mpi"): if mark.args: > raise ValueError("mpi mark does not take positional args") E ValueError: mpi mark does not take positional args /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/lib/python3.14/site-packages/pytest_mpi/__init__.py:133: ValueError =============================== MPI Information ================================ Unable to import mpi4py=========================== short test summary info ============================ ERROR test_mpi_only_mpi.py::test_size - Failed: MPI tests require that mpi4py... ERROR test_mpi_only_mpi.py::test_size_min_2 - Failed: MPI tests require that ... ERROR test_mpi_only_mpi.py::test_size_min_4 - Failed: MPI tests require that ... ERROR test_mpi_only_mpi.py::test_size_fail_pos - ValueError: mpi mark does no... ========================= 1 skipped, 4 errors in 0.51s ========================= Unable to import mpi4py=========================== short test summary info ============================ ERROR test_mpi_only_mpi.py::test_size - Failed: MPI tests require that mpi4py... ERROR test_mpi_only_mpi.py::test_size_min_2 - Failed: MPI tests require that ... ERROR test_mpi_only_mpi.py::test_size_min_4 - Failed: MPI tests require that ... ERROR test_mpi_only_mpi.py::test_size_fail_pos - ValueError: mpi mark does no... ========================= 1 skipped, 4 errors in 0.51s ========================= ----------------------------- Captured stderr call ----------------------------- -------------------------------------------------------------------------- prterun detected that one or more processes exited with non-zero status, thus causing the job to be terminated. The first process to do so was: Process name: [prterun-arch-nspawn-1127306-1145@1,1] Exit code: 1 -------------------------------------------------------------------------- ___________________________ test_mpi_xfail_under_mpi ___________________________ mpi_testdir = , has_mpi4py = True 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) E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 1, 'xfailed': 0} == {'passed': 0, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 1} E E Common items: E {'errors': 0, 'failed': 0, 'passed': 0, 'skipped': 0} E Differing items: E {'xfailed': 0} != {'xfailed': 1} E {'xpassed': 1} != {'xpassed': 0} E E Full diff: E { E 'errors': 0, E 'failed': 0, E 'passed': 0, E 'skipped': 0, E - 'xfailed': 1, E ? ^ E + 'xfailed': 0, E ? ^ E - 'xpassed': 0, E ? ^ E + 'xpassed': 1, E ? ^ E } /build/python-pytest-mpi/src/pytest-mpi-0.6/tests/test_markers.py:118: AssertionError ----------------------------- Captured stdout call ----------------------------- running: mpirun -n 2 /build/python-pytest-mpi/src/pytest-mpi-0.6/test-env/bin/python -mpytest --basetemp=/tmp/pytest-of-builduser/pytest-0/test_mpi_xfail_under_mpi0/runpytest-0 --with-mpi in: /tmp/pytest-of-builduser/pytest-0/test_mpi_xfail_under_mpi0 ============================= test session starts ============================== ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_xfail_under_mpi0 rootdir: /tmp/pytest-of-builduser/pytest-0/test_mpi_xfail_under_mpi0 plugins: mpi-0.6 plugins: mpi-0.6 collecting ... collecting ... collected 1 item collected 1 item test_mpi_xfail_under_mpi.py test_mpi_xfail_under_mpi.py XX [100%] [100%] =============================== MPI Information ================================ =============================== MPI Information ================================ Unable to import mpi4py Unable to import mpi4py ============================== 1 xpassed in 0.17s ============================== ============================== 1 xpassed in 0.17s ============================== =========================== short test summary info ============================ FAILED tests/test_fixtures.py::test_mpi_file_name - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 0, 'errors': 1, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0} Common items: {'failed': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0} Differing items: {'errors': 1} != {'errors': 0} {'passed': 0} != {'passed': 1} Full diff: { - 'errors': 0, ? ^ + 'errors': 1, ? ^ 'failed': 0, - 'passed': 1, ? ^ + 'passed': 0, ? ^ 'skipped': 0, 'xfailed': 0, 'xpassed': 0, } FAILED tests/test_fixtures.py::test_mpi_tmpdir - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 0, 'errors': 1, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0} Common items: {'failed': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0} Differing items: {'errors': 1} != {'errors': 0} {'passed': 0} != {'passed': 1} Full diff: { - 'errors': 0, ? ^ + 'errors': 1, ? ^ 'failed': 0, - 'passed': 1, ? ^ + 'passed': 0, ? ^ 'skipped': 0, 'xfailed': 0, 'xpassed': 0, } FAILED tests/test_fixtures.py::test_mpi_tmp_path - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 0, 'errors': 1, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0} Common items: {'failed': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0} Differing items: {'errors': 1} != {'errors': 0} {'passed': 0} != {'passed': 1} Full diff: { - 'errors': 0, ? ^ + 'errors': 1, ? ^ 'failed': 0, - 'passed': 1, ? ^ + 'passed': 0, ? ^ 'skipped': 0, 'xfailed': 0, 'xpassed': 0, } FAILED tests/test_markers.py::test_mpi_with_mpi - AssertionError: assert {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 4, 'xpassed': 0, 'xfailed': 0} == {'passed': 3, 'skipped': 1, 'failed': 0, 'errors': 1, 'xpassed': 0, 'xfailed': 0} Common items: {'failed': 0, 'xfailed': 0, 'xpassed': 0} Differing items: {'errors': 4} != {'errors': 1} {'passed': 1} != {'passed': 3} {'skipped': 0} != {'skipped': 1} Full diff: { - 'errors': 1, ? ^ + 'errors': 4, ? ^ 'failed': 0, - 'passed': 3, ? ^ + 'passed': 1, ? ^ - 'skipped': 1, ? ^ + 'skipped': 0, ? ^ 'xfailed': 0, 'xpassed': 0, } FAILED tests/test_markers.py::test_mpi_only_mpi - AssertionError: assert {'passed': 0, 'skipped': 1, 'failed': 0, 'errors': 4, 'xpassed': 0, 'xfailed': 0} == {'passed': 2, 'skipped': 2, 'failed': 0, 'errors': 1, 'xpassed': 0, 'xfailed': 0} Common items: {'failed': 0, 'xfailed': 0, 'xpassed': 0} Differing items: {'errors': 4} != {'errors': 1} {'passed': 0} != {'passed': 2} {'skipped': 1} != {'skipped': 2} Full diff: { - 'errors': 1, ? ^ + 'errors': 4, ? ^ 'failed': 0, - 'passed': 2, ? ^ + 'passed': 0, ? ^ - 'skipped': 2, ? ^ + 'skipped': 1, ? ^ 'xfailed': 0, 'xpassed': 0, } FAILED tests/test_markers.py::test_mpi_xfail_under_mpi - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 1, 'xfailed': 0} == {'passed': 0, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 1} Common items: {'errors': 0, 'failed': 0, 'passed': 0, 'skipped': 0} Differing items: {'xfailed': 0} != {'xfailed': 1} {'xpassed': 1} != {'xpassed': 0} Full diff: { 'errors': 0, 'failed': 0, 'passed': 0, 'skipped': 0, - 'xfailed': 1, ? ^ + 'xfailed': 0, ? ^ - 'xpassed': 0, ? ^ + 'xpassed': 1, ? ^ } ========================= 6 failed, 4 passed in 33.01s ========================= ==> ERROR: A failure occurred in check().  Aborting... [!p]104\[?7h]3008;end=5fc7db43648f47788bcfe9b78b9ac706\==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-6/build [?25h[?25h[?25hreceiving incremental file list python-pytest-mpi-0.6-7-riscv64-build.log python-pytest-mpi-0.6-7-riscv64-check.log sent 62 bytes received 5,672 bytes 2,293.60 bytes/sec total size is 67,495 speedup is 11.77