Skip to main content

pytest-isolate-mpi allows for MPI-parallel tests being executed in a segfault and MPI_Abort safe manner

Project description

pytest-isolate-mpi is a plugin for Pytest to enable the test of MPI-parallel Python software. MPI-parallel tests are executed in forked MPI jobs with the help of mpirun to isolate the tests from each other. Thus, a crash in test only aborts the test, not the whole test suite. Similarly, deadlocks can be treated with timeouts for tests to prevent a test suite from never being able to finish:

import pytest


@pytest.mark.mpi(ranks=2, timeout=10, unit="s")
def test_with_mpi(mpi_ranks):
    assert True  # replace with actual, MPI-parallel test code

Installation

pytest-isolate-mpi is available on pypi.org and can be installed with pip:

pip install pytest-mpi-isolate

Documentation

For the full documentation, please see https://pytest-isolate-mpi.readthedocs.io/.

Contributing

Please refer to the Contributor Guide for instructions on how to contribute to pytest-isolate-mpi.

License

This work is licensed under the conditions of the BSD-3-Clause license, see LICENSE.

The software is provided as is. We sincerely welcome your feedback on issues, bugs and possible improvements. Please use the issue tracker of the project for the corresponding communication or make a fork. Our priority and time line for working on the issues depend on the project and its follow ups. This may lead to issue and tickets, which are not pursued. In case you need an urgent fix, please contact us directly for discussing possible forms of collaboration (direct contribution, projects, contracting, …): Institute of Software Methods for Product Virtualization.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest_isolate_mpi-0.3.tar.gz (40.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytest_isolate_mpi-0.3-py2.py3-none-any.whl (13.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pytest_isolate_mpi-0.3.tar.gz.

File metadata

  • Download URL: pytest_isolate_mpi-0.3.tar.gz
  • Upload date:
  • Size: 40.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pytest_isolate_mpi-0.3.tar.gz
Algorithm Hash digest
SHA256 79fd083d541bdefd0d6ca488969aa3d4a421f2c360b75d3cf55dd3dbd12d4882
MD5 9eafb92d7e0f4cf67e690c1982d2d0e4
BLAKE2b-256 634671c96255a70530c841c0e14dfe9d7ed81141e4bc925735f154660928f6b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_isolate_mpi-0.3.tar.gz:

Publisher: python-publish.yml on dlr-sp/pytest-isolate-mpi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytest_isolate_mpi-0.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_isolate_mpi-0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7a6ea0625106da9c9c7b0640812b7d1ee89471da310a9c9091f0e52761258342
MD5 b930c0ae752a427e9a45767806c68307
BLAKE2b-256 7b2b68dab2a21a92de34996c4194763f427a8482d252ba1f10efc9dee734400a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytest_isolate_mpi-0.3-py2.py3-none-any.whl:

Publisher: python-publish.yml on dlr-sp/pytest-isolate-mpi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page