Skip to content

Commit

Permalink
Merge pull request #2903 from eisenhauer/TestFName
Browse files Browse the repository at this point in the history
Fix output file name reuse in tests
  • Loading branch information
eisenhauer authored Oct 13, 2021
2 parents 6831c84 + 5dba863 commit c7b1b96
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 24 deletions.
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

0 comments on commit c7b1b96

Please sign in to comment.