pytest插件,用于使用mpiexec运行单独的测试
项目描述
pytest-mpixec
pytest插件,用于使用mpiexec运行单独的测试
使用 mark.mpiexec
标记的测试将在单独的实例中使用mpiexec运行,而不是在当前进程中运行。
子进程测试将使用pytest运行,因此仍然应该使用固定值和其他一切!
如果为名为 mpiexec_n
的参数指定了参数化,则可以参数化进程数。
试试看
pip install pytest-mpiexec
并编写使用mpiexec的测试
from mpi4py import MPI
@pytest.mark.mpiexec(n=2)
def test_my_mpi_code(fixtures):
assert something
@pytest.mark.mpiexec
@pytest.mark.parametrize("mpiexec_n", [1, 2, 3])
def test_my_mpi_code(mpiexec_n):
assert MPI.COMM_WORLD.size == mpiexec_n
选项
如果由于某种原因您的mpi可执行文件不是 mpiexec
,则可以使用以下方式指定它
pytest --mpiexec your-mpiexec
pytest-mpiexec试图在显示失败时的有用信息的同时减少噪音。这意味着当一切正常时,应该只有一个输出。但是,并行失败既可能是嘈杂的,也可能是令人困惑的,因此这里有一些选项,通过 --mpiexec-report
选项公开
选项 | 行为 |
---|---|
first_failure |
显示具有错误的第一个排名的测试输出(默认值) |
all_failures |
显示所有失败的排名的输出(通常很嘈杂) |
all |
显示所有测试结果(即使有重复的PASSED输出) |
concise |
尝试只显示每个 unique 失败一次(实验性) |
《简洁》选项是实验性的,旨在在可能从 first_failure
省略的信息和 all_failures
的冗余噪声之间取得平衡。
注意事项
如果您使用模块或会话范围的 fixtures,则将运行另一个实例,因此这些不能与其他 pytest 运行冲突(例如,端口、文件等冲突)。
先例
- pytest-mpi(在兼容此包的 mpi 中运行的测试的辅助工具!)
- pytest-easyMPI(与这个目标相似,但采用不同的方法)
项目详情
关闭
pytest_mpiexec-0.0.1a3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c8a6f816bbc442edd6753dadbd1ff3624665c8fc07c4410589510c28bde030e1 |
|
MD5 | 02729161c7a73ab98eadbd41dff0abf6 |
|
BLAKE2b-256 | 0db5fa5ce1a16e7b58264fce3c4669f1366e6b84cc4e62c61c9a1b19097b45dd |
关闭
pytest_mpiexec-0.0.1a3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 81a724c91576a4321735a32dbe64d1b2a0556218ec175319e4692e6566c4dc10 |
|
MD5 | 518052f32bab2fb1c642536161871ef4 |
|
BLAKE2b-256 | 57b51e46ebf58f279d8a8b4d18e9654ed0f86a727c9e68ee1121d99aabefe58c |