Add write_dump tests for dump atom

This commit is contained in:
Richard Berger 2020-08-13 12:04:54 -04:00
parent f9697bd9f5
commit 87a356a211
No known key found for this signature in database
GPG Key ID: A9E83994E0BA0CAB
1 changed files with 52 additions and 0 deletions

View File

@ -703,6 +703,58 @@ TEST_F(DumpAtomTest, dump_modify_invalid)
command("dump_modify id true"););
}
TEST_F(DumpAtomTest, write_dump)
{
if (!verbose) ::testing::internal::CaptureStdout();
command("dump id all atom 1 dump_run0.melt");
command("dump_modify id scale no units yes");
command("run 0");
command("write_dump all atom write_dump_atom_run*.melt modify scale no units yes");
if (!verbose) ::testing::internal::GetCapturedStdout();
auto reference = "dump_run0.melt";
auto dump_file = "write_dump_atom_run0.melt";
ASSERT_FILE_EXISTS(reference);
ASSERT_FILE_EXISTS(dump_file);
ASSERT_FILE_EQUAL(reference, dump_file);
delete_file(reference);
delete_file(dump_file);
}
TEST_F(DumpAtomTest, binary_write_dump)
{
if (!verbose) ::testing::internal::CaptureStdout();
command("dump id all atom 1 dump_run0.melt.bin");
command("dump_modify id scale no units yes");
command("run 0");
command("write_dump all atom write_dump_atom_run*_p%.melt.bin modify scale no units yes");
if (!verbose) ::testing::internal::GetCapturedStdout();
auto reference = "dump_run0.melt.bin";
auto dump_file = "write_dump_atom_run0_p0.melt.bin";
auto reference_txt = "dump_run0.melt.bin.txt";
auto dump_file_txt = "write_dump_atom_run0_p0.melt.bin.txt";
ASSERT_FILE_EXISTS(reference);
ASSERT_FILE_EXISTS(dump_file);
if (!verbose) ::testing::internal::CaptureStdout();
std::string cmdline = fmt::format("{} {}", BINARY2TXT_BINARY, reference);
system(cmdline.c_str());
cmdline = fmt::format("{} {}", BINARY2TXT_BINARY, dump_file);
system(cmdline.c_str());
if (!verbose) ::testing::internal::GetCapturedStdout();
ASSERT_FILE_EXISTS(reference_txt);
ASSERT_FILE_EXISTS(dump_file_txt);
ASSERT_FILE_EQUAL(reference_txt, dump_file_txt);
delete_file(reference_txt);
delete_file(dump_file_txt);
}
int main(int argc, char **argv)
{
MPI_Init(&argc, &argv);