Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ctest checks return code instead of PASS or FAIL output #93

Merged
merged 2 commits into from
Jun 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions components/omega/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -206,26 +206,3 @@ add_omega_test(
infra/OmegaKokkosTest.cpp
""
)

##################
# test properties
##################

set_tests_properties(
DATA_TYPES_TEST
MACHINE_ENV_TEST
BROADCAST_TEST
LOGGING_TEST
CONFIG_TEST
DECOMP_TEST
HALO_TEST
HORZMESH_TEST
HORZOPERATORS_PLANE_TEST
HORZOPERATORS_SPHERE_TEST
IO_TEST
METADATA_TEST
TIMEMGR_TEST
KOKKOS_TEST
IOFIELD_TEST
PROPERTIES FAIL_REGULAR_EXPRESSION "FAIL" PASS_REGULAR_EXPRESSION "PASS"
)
67 changes: 41 additions & 26 deletions components/omega/test/base/BroadcastTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include <iostream>

template <class MyType>
void TestBroadcast(OMEGA::MachEnv *Env, std::string TypeName) {
void TestBroadcast(OMEGA::MachEnv *Env, std::string TypeName, int *RetVal) {

const int MyTask = Env->getMyTask();
const int IsMyMaster = Env->isMasterTask();
Expand Down Expand Up @@ -49,9 +49,11 @@ void TestBroadcast(OMEGA::MachEnv *Env, std::string TypeName) {
if (MyVal == FromVal)
std::cout << TypeName << " scalar broadcast from a default task: PASS"
<< std::endl;
else
else {
std::cout << TypeName << " scalar broadcast from a default task: FAIL"
<< std::endl;
*RetVal += 1;
}
}

if (MyTask == RootTask)
Expand All @@ -67,10 +69,12 @@ void TestBroadcast(OMEGA::MachEnv *Env, std::string TypeName) {
std::cout << TypeName
<< " scalar broadcast from a non-master task: PASS"
<< std::endl;
else
else {
std::cout << TypeName
<< " scalar broadcast from a non-master task: FAIL"
<< std::endl;
*RetVal += 1;
}
}

if (MyTask == RootTask)
Expand All @@ -86,10 +90,12 @@ void TestBroadcast(OMEGA::MachEnv *Env, std::string TypeName) {
std::cout << TypeName
<< " scalar broadcast from the default env.: PASS"
<< std::endl;
else
else {
std::cout << TypeName
<< " scalar broadcast from the default env.: FAIL"
<< std::endl;
*RetVal += 1;
}
}

// length of vector<string> is not fixed
Expand All @@ -115,10 +121,12 @@ void TestBroadcast(OMEGA::MachEnv *Env, std::string TypeName) {
std::cout << TypeName
<< " vector broadcast from the default env.: PASS"
<< std::endl;
else
else {
std::cout << TypeName
<< " vector broadcast from the default env.: FAIL"
<< std::endl;
*RetVal += 1;
}
}
}
}
Expand All @@ -130,6 +138,8 @@ void TestBroadcast(OMEGA::MachEnv *Env, std::string TypeName) {
//
int main(int argc, char *argv[]) {

int RetVal = 0;

// Initialize the global MPI environment
MPI_Init(&argc, &argv);

Expand All @@ -154,25 +164,25 @@ int main(int argc, char *argv[]) {
OMEGA::MachEnv *DefEnv = OMEGA::MachEnv::getDefaultEnv();

// I4 Broadcast tests
TestBroadcast<OMEGA::I4>(DefEnv, "I4");
TestBroadcast<OMEGA::I4>(DefEnv, "I4", &RetVal);

// I8 Broadcast tests
TestBroadcast<OMEGA::I8>(DefEnv, "I8");
TestBroadcast<OMEGA::I8>(DefEnv, "I8", &RetVal);

// R4 Broadcast tests
TestBroadcast<OMEGA::R4>(DefEnv, "R4");
TestBroadcast<OMEGA::R4>(DefEnv, "R4", &RetVal);

// R8 Broadcast tests
TestBroadcast<OMEGA::R8>(DefEnv, "R8");
TestBroadcast<OMEGA::R8>(DefEnv, "R8", &RetVal);

// Real Broadcast tests
TestBroadcast<OMEGA::Real>(DefEnv, "Real");
TestBroadcast<OMEGA::Real>(DefEnv, "Real", &RetVal);

// boolean Broadcast tests
TestBroadcast<bool>(DefEnv, "bool");
TestBroadcast<bool>(DefEnv, "bool", &RetVal);

// string Broadcast tests
TestBroadcast<std::string>(DefEnv, "string");
TestBroadcast<std::string>(DefEnv, "string", &RetVal);

// Initialize general subset environment
int InclSize = 4;
Expand All @@ -198,28 +208,33 @@ int main(int argc, char *argv[]) {

if (pos != std::end(InclTasks)) {
if (MyVal == 1)
std::cout << "I4"
<< " sub-group broadcast at rank " << MyTask << " : PASS"
<< std::endl;
else
std::cout << "I4"
<< " sub-group broadcast at rank " << MyTask << " : FAIL"
<< std::endl;
std::cout << "I4" << " sub-group broadcast at rank " << MyTask
<< " : PASS" << std::endl;
else {
std::cout << "I4" << " sub-group broadcast at rank " << MyTask
<< " : FAIL" << std::endl;
RetVal += 1;
}
} else {
if (MyVal == -1)
std::cout << "I4"
<< " sub-group broadcast at rank " << MyTask << " : PASS"
<< std::endl;
else
std::cout << "I4"
<< " sub-group broadcast at rank " << MyTask << " : FAIL"
<< std::endl;
std::cout << "I4" << " sub-group broadcast at rank " << MyTask
<< " : PASS" << std::endl;
else {
std::cout << "I4" << " sub-group broadcast at rank " << MyTask
<< " : FAIL" << std::endl;
RetVal += 1;
}
}

OMEGA::MachEnv::removeEnv("Subset");

// MPI_Status status;
MPI_Finalize();

if (RetVal >= 256)
RetVal = 255;

return RetVal;

} // end of main
//===-----------------------------------------------------------------------===/
Loading
Loading