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

Fix output file name reuse in tests #2903

Merged
merged 3 commits into from
Oct 13, 2021
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
18 changes: 12 additions & 6 deletions testing/adios2/engine/bp/TestBPStepsInSituGlobalArray.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,8 @@ TEST_P(BPStepsInSituGlobalArrayReaders, EveryStep)
{
const std::vector<Act> &schedule = GetSchedule();
const ReadMode readMode = GetReadMode();
using namespace std;
std::string BaseName = engineName;
const std::string fname_prefix = "BPStepsInSituGlobalArray.EveryStep." +
std::to_string(GetScheduleID()) + "." +
ReadModeToString(readMode);
Expand All @@ -148,10 +150,10 @@ TEST_P(BPStepsInSituGlobalArrayReaders, EveryStep)
std::string fname;
#if ADIOS2_USE_MPI
adios2::ADIOS adios(MPI_COMM_WORLD);
fname = fname_prefix + ".MPI.bp";
fname = fname_prefix + BaseName + ".MPI.bp";
#else
adios2::ADIOS adios;
fname = fname_prefix + ".Serial.bp";
fname = fname_prefix + BaseName + ".Serial.bp";
#endif

if (!mpiRank)
Expand Down Expand Up @@ -285,6 +287,8 @@ TEST_P(BPStepsInSituGlobalArrayReaders, NewVarPerStep)
{
const std::vector<Act> &schedule = GetSchedule();
const ReadMode readMode = GetReadMode();
using namespace std;
std::string BaseName = engineName;
const std::string fname_prefix = "BPStepsInSituGlobalArray.NewVarPerStep." +
std::to_string(GetScheduleID()) + "." +
ReadModeToString(readMode);
Expand All @@ -303,10 +307,10 @@ TEST_P(BPStepsInSituGlobalArrayReaders, NewVarPerStep)
std::string fname;
#if ADIOS2_USE_MPI
adios2::ADIOS adios(MPI_COMM_WORLD);
fname = fname_prefix + ".MPI.bp";
fname = fname_prefix + BaseName + ".MPI.bp";
#else
adios2::ADIOS adios;
fname = fname_prefix + ".Serial.bp";
fname = fname_prefix + BaseName + ".Serial.bp";
#endif

auto lf_VarName = [](int step) -> std::string {
Expand Down Expand Up @@ -475,6 +479,8 @@ TEST_P(BPStepsInSituGlobalArrayParameters, EveryOtherStep)
const std::vector<Act> &schedule = GetSchedule();
const std::size_t Oddity = GetOddity();
const ReadMode readMode = GetReadMode();
using namespace std;
std::string BaseName = engineName;
const std::string fname_prefix =
"BPStepsInSituGlobalArray.EveryOtherStep.Schedule" +
std::to_string(GetScheduleID()) + ".Oddity" + std::to_string(Oddity) +
Expand All @@ -494,10 +500,10 @@ TEST_P(BPStepsInSituGlobalArrayParameters, EveryOtherStep)
std::string fname;
#if ADIOS2_USE_MPI
adios2::ADIOS adios(MPI_COMM_WORLD);
fname = fname_prefix + ".MPI.bp";
fname = fname_prefix + BaseName + ".MPI.bp";
#else
adios2::ADIOS adios;
fname = fname_prefix + ".Serial.bp";
fname = fname_prefix + BaseName + ".Serial.bp";

#endif

Expand Down
18 changes: 12 additions & 6 deletions testing/adios2/engine/bp/TestBPStepsInSituLocalArray.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ class BPStepsInSituLocalArrayReaders
TEST_P(BPStepsInSituLocalArrayReaders, EveryStep)
{
const std::vector<Act> &schedule = GetSchedule();
using namespace std;
std::string BaseName = engineName;
const std::string fname_prefix =
"BPStepsInSituLocalArray.EveryStep." + std::to_string(GetScheduleID());
int mpiRank = 0, mpiSize = 1;
Expand All @@ -124,10 +126,10 @@ TEST_P(BPStepsInSituLocalArrayReaders, EveryStep)
std::string fname;
#if ADIOS2_USE_MPI
adios2::ADIOS adios(MPI_COMM_WORLD);
fname = fname_prefix + ".MPI.bp";
fname = fname_prefix + BaseName + ".MPI.bp";
#else
adios2::ADIOS adios;
fname = fname_prefix + ".Serial.bp";
fname = fname_prefix + BaseName + ".Serial.bp";
#endif
if (!mpiRank)
{
Expand Down Expand Up @@ -230,6 +232,8 @@ TEST_P(BPStepsInSituLocalArrayReaders, EveryStep)
TEST_P(BPStepsInSituLocalArrayReaders, NewVarPerStep)
{
const std::vector<Act> &schedule = GetSchedule();
using namespace std;
std::string BaseName = engineName;
const std::string fname_prefix = "BPStepsInSituLocalArray.NewVarPerStep." +
std::to_string(GetScheduleID());
int mpiRank = 0, mpiSize = 1;
Expand All @@ -247,10 +251,10 @@ TEST_P(BPStepsInSituLocalArrayReaders, NewVarPerStep)
std::string fname;
#if ADIOS2_USE_MPI
adios2::ADIOS adios(MPI_COMM_WORLD);
fname = fname_prefix + ".MPI.bp";
fname = fname_prefix + BaseName + ".MPI.bp";
#else
adios2::ADIOS adios;
fname = fname_prefix + ".Serial.bp";
fname = fname_prefix + BaseName + ".Serial.bp";
#endif

auto lf_VarName = [](int step) -> std::string {
Expand Down Expand Up @@ -380,6 +384,8 @@ TEST_P(BPStepsInSituLocalArrayParameters, EveryOtherStep)
{
const std::vector<Act> &schedule = GetSchedule();
const std::size_t Oddity = GetOddity();
using namespace std;
std::string BaseName = engineName;
const std::string fname_prefix =
"BPStepsInSituLocalArray.EveryOtherStep.Schedule" +
std::to_string(GetScheduleID()) + ".Oddity" + std::to_string(Oddity);
Expand All @@ -398,10 +404,10 @@ TEST_P(BPStepsInSituLocalArrayParameters, EveryOtherStep)
std::string fname;
#if ADIOS2_USE_MPI
adios2::ADIOS adios(MPI_COMM_WORLD);
fname = fname_prefix + ".MPI.bp";
fname = fname_prefix + BaseName + ".MPI.bp";
#else
adios2::ADIOS adios;
fname = fname_prefix + ".Serial.bp";
fname = fname_prefix + BaseName + ".Serial.bp";

#endif

Expand Down
2 changes: 1 addition & 1 deletion testing/adios2/engine/bp/TestBPWriteReadBlockInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -735,7 +735,7 @@ TEST_F(BPWriteReadBlockInfo, BPWriteReadBlockInfo1D8_C)
{
// Each process would write a 1x8 array and all processes would
// form a mpiSize * Nx 1D array
const std::string fname("BPWriteReadblockInfo1D8.bp");
const std::string fname("BPWriteReadblockInfo1D8_C.bp");

int mpiRank = 0, mpiSize = 1;
// Number of rows
Expand Down
25 changes: 14 additions & 11 deletions testing/adios2/engine/staging-common/TestThreads.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int value_errors = 0;

std::mutex StdOutMtx;

int Read(int ID)
int Read(std::string BaseName, int ID)
{
adios2::ADIOS adios;
adios2::IO io = adios.DeclareIO("IO");
Expand All @@ -35,7 +35,7 @@ int Read(int ID)

try
{
std::string FName = "File" + std::to_string(ID);
std::string FName = BaseName + std::to_string(ID);
adios2::Engine Reader = io.Open(FName, adios2::Mode::Read);
{
std::lock_guard<std::mutex> guard(StdOutMtx);
Expand Down Expand Up @@ -92,7 +92,7 @@ int Read(int ID)
return true;
}

bool Write(int ID)
bool Write(std::string BaseName, int ID)
{
adios2::ADIOS adios;
adios2::IO io = adios.DeclareIO("IO");
Expand All @@ -110,7 +110,7 @@ bool Write(int ID)

try
{
std::string FName = "File" + std::to_string(ID);
std::string FName = BaseName + std::to_string(ID);
adios2::Engine Writer = io.Open(FName, adios2::Mode::Write);

{
Expand Down Expand Up @@ -145,8 +145,10 @@ class TestThreads : public ::testing::Test

TEST_F(TestThreads, Basic)
{
auto read_fut = std::async(std::launch::async, Read, 0);
auto write_fut = std::async(std::launch::async, Write, 0);
using namespace std;
std::string BaseName = engine;
auto read_fut = std::async(std::launch::async, Read, BaseName, 0);
auto write_fut = std::async(std::launch::async, Write, BaseName, 0);
bool reader_success = read_fut.get();
bool writer_success = write_fut.get();
EXPECT_TRUE(reader_success);
Expand All @@ -163,11 +165,12 @@ TEST_F(TestThreads, Basic)
// auto high_write_fut = std::async(std::launch::async, Write, 0);
// for (int i = 0; i < 1024; i++)
// {
// auto read_fut = std::async(std::launch::async, Read, i + 1);
// auto write_fut = std::async(std::launch::async, Write, i + 1);
// bool reader_success = read_fut.get();
// bool writer_success = write_fut.get();
// EXPECT_TRUE(reader_success);
// using namespace std;
// std::string BaseName = std::to_string(_getpid());
// auto read_fut = std::async(std::launch::async, Read, BaseName, i +
// 1); auto write_fut = std::async(std::launch::async, Write, BaseName,
// i + 1); bool reader_success = read_fut.get(); bool writer_success =
// write_fut.get(); EXPECT_TRUE(reader_success);
// EXPECT_TRUE(writer_success);
// EXPECT_EQ(value_errors, 0)
// << "We got " << value_errors << " erroneous values at the
Expand Down