make MPI_Init and MPI_Finalize independent of the test fixtures

Šī revīzija ir iekļauta:
avinashkethineedi
2024-10-01 18:33:36 +00:00
vecāks 74ee25817e
revīzija 0f7dc70894
+17 -1
Parādīt failu
@@ -21,8 +21,24 @@
*****************************************************************************/
#include "gtest/gtest.h"
#include <mpi.h>
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
int initialized;
MPI_Initialized(&initialized);
if (!initialized) {
int provided;
MPI_Init_thread(nullptr, nullptr, MPI_THREAD_MULTIPLE, &provided);
}
int ret_val = RUN_ALL_TESTS();
int finalized{0};
MPI_Finalized(&finalized);
if (!finalized) {
MPI_Finalize();
}
return ret_val;
}