Skip to content

Commit ed9d32b

Browse files
committed
refactor: extract RunAllTests function for reusability
1 parent fc5b213 commit ed9d32b

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

modules/core/runners/src/runners.cpp

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,17 @@ void WorkerTestFailurePrinter::PrintProcessRank() {
6060
std::cerr << std::format(" [ PROCESS {} ] ", rank);
6161
}
6262

63+
namespace {
64+
int RunAllTests() {
65+
auto status = RUN_ALL_TESTS();
66+
if (ppc::util::DestructorFailureFlag::Get()) {
67+
throw std::runtime_error(
68+
std::format("[ ERROR ] Destructor failed with code {}", ppc::util::DestructorFailureFlag::Get()));
69+
}
70+
return status;
71+
}
72+
} // namespace
73+
6374
int Init(int argc, char** argv) {
6475
const int init_res = MPI_Init(&argc, &argv);
6576
if (init_res != MPI_SUCCESS) {
@@ -81,12 +92,8 @@ int Init(int argc, char** argv) {
8192
listeners.Append(new ppc::core::WorkerTestFailurePrinter(std::shared_ptr<::testing::TestEventListener>(listener)));
8293
}
8394
listeners.Append(new ppc::core::UnreadMessagesDetector());
84-
auto status = RUN_ALL_TESTS();
8595

86-
if (ppc::util::DestructorFailureFlag::Get()) {
87-
throw std::runtime_error(
88-
std::format("[ ERROR ] Destructor failed with code {}", ppc::util::DestructorFailureFlag::Get()));
89-
}
96+
auto status = RunAllTests();
9097

9198
const int finalize_res = MPI_Finalize();
9299
if (finalize_res != MPI_SUCCESS) {
@@ -102,12 +109,7 @@ int SimpleInit(int argc, char** argv) {
102109
tbb::global_control control(tbb::global_control::max_allowed_parallelism, ppc::util::GetNumThreads());
103110

104111
testing::InitGoogleTest(&argc, argv);
105-
auto status = RUN_ALL_TESTS();
106-
if (ppc::util::DestructorFailureFlag::Get()) {
107-
throw std::runtime_error(
108-
std::format("[ ERROR ] Destructor failed with code {}", ppc::util::DestructorFailureFlag::Get()));
109-
}
110-
return status;
112+
return RunAllTests();
111113
}
112114

113115
} // namespace ppc::core

0 commit comments

Comments
 (0)