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


Release history Release notifications | RSS feed

This version

0.1

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.1.tar.gz (300.9 kB view details)

Uploaded Source

Built Distribution

pytest_isolate_mpi-0.1-py2.py3-none-any.whl (12.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: pytest_isolate_mpi-0.1.tar.gz
  • Upload date:
  • Size: 300.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pytest_isolate_mpi-0.1.tar.gz
Algorithm Hash digest
SHA256 492fc32ba4c603be0e7ea91ab360c0fc0d4977665c1cf44638582662cb4dd3a0
MD5 1aaefee1d5e6af3b836a9f19255f0caf
BLAKE2b-256 fc43a4ce903c806c5c7482f4daa74f3b71cab02464b2475ee73763c4e8f73c52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytest_isolate_mpi-0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 520706b5703aaf7832061eb398e7a33fa82290d7b3e21a54e8814117e30c1b92
MD5 4202afb960ec9b70c01f8575607825a6
BLAKE2b-256 62cf3a870598b3493afb84c0ee726a04233a60139f6c3cd56b1f78092a3a7ff6

See more details on using hashes here.

Supported by

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