扩展
Extensions
doctest 标头在其接口部分中不包含任何外部或 stdlib 标头,以提供最佳的构建时间,但这意味着它可以
提供的功能有限 => 这就是扩展发挥作用的时候。它们作为头文件位于 doctest/extensions 中,并且每个文件
都记录在此处的一个部分中。
Utils
这里还什么都没有...
Distributed tests with MPI
通过分布式进程测试代码需要测试 框架的支持。 “doctest/extensions/doctest_mpi.h”标头中提供了对 MPI 并行通信的 Doctest 支持。
示例
参考 the complete test and the configuration of main()
MPI_TEST_CASE
#include "doctest/extensions/doctest_mpi.h"
int my_function_to_test(MPI_Comm comm) {
int rank;
MPI_Comm_rank(comm,&rank);
if (rank == 0) {
return 10;
}
return 11;
}
MPI_TEST_CASE("test over two processes",2) { // Parallel test on 2 processes
int x = my_function_to_test(test_comm);
MPI_CHECK( 0, x==10 ); // CHECK for rank 0, that x==10
MPI_CHECK( 1, x==11 ); // CHECK for rank 1, that x==11
}
MPI_TEST_CASE类似于常规的TEST_CASE