support verbose option

This commit is contained in:
Axel Kohlmeyer
2020-07-20 20:40:20 -04:00
parent cac4c5d930
commit 68df62b869

View File

@ -15,9 +15,9 @@
#include "info.h" #include "info.h"
#include "input.h" #include "input.h"
#include "lammps.h" #include "lammps.h"
#include "lmppython.h"
#include "modify.h" #include "modify.h"
#include "utils.h" #include "utils.h"
#include "lmppython.h"
#include "variable.h" #include "variable.h"
#include "gmock/gmock.h" #include "gmock/gmock.h"
#include "gtest/gtest.h" #include "gtest/gtest.h"
@ -82,8 +82,7 @@ TEST_F(KimCommandsTest, kim_init)
{ {
if (!LAMMPS::is_installed_pkg("KIM")) GTEST_SKIP(); if (!LAMMPS::is_installed_pkg("KIM")) GTEST_SKIP();
TEST_FAILURE(".*ERROR: Illegal kim_init command.*", TEST_FAILURE(".*ERROR: Illegal kim_init command.*", lmp->input->one("kim_init"););
lmp->input->one("kim_init"););
TEST_FAILURE(".*ERROR: Illegal kim_init command.*", TEST_FAILURE(".*ERROR: Illegal kim_init command.*",
lmp->input->one("kim_init LennardJones_Ar real si");); lmp->input->one("kim_init LennardJones_Ar real si"););
TEST_FAILURE(".*ERROR: LAMMPS unit_style lj not supported by KIM models.*", TEST_FAILURE(".*ERROR: LAMMPS unit_style lj not supported by KIM models.*",
@ -95,9 +94,9 @@ TEST_F(KimCommandsTest, kim_init)
TEST_FAILURE(".*ERROR: Incompatible units for KIM Simulator Model, required units = metal.*", TEST_FAILURE(".*ERROR: Incompatible units for KIM Simulator Model, required units = metal.*",
lmp->input->one("kim_init Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu real");); lmp->input->one("kim_init Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu real"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("kim_init LennardJones_Ar real"); lmp->input->one("kim_init LennardJones_Ar real");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
int ifix = lmp->modify->find_fix("KIM_MODEL_STORE"); int ifix = lmp->modify->find_fix("KIM_MODEL_STORE");
ASSERT_GE(ifix, 0); ASSERT_GE(ifix, 0);
@ -110,70 +109,70 @@ TEST_F(KimCommandsTest, kim_interactions)
TEST_FAILURE(".*ERROR: Illegal kim_interactions command.*", TEST_FAILURE(".*ERROR: Illegal kim_interactions command.*",
lmp->input->one("kim_interactions");); lmp->input->one("kim_interactions"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("kim_init LennardJones_Ar real"); lmp->input->one("kim_init LennardJones_Ar real");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
TEST_FAILURE(".*ERROR: Must use 'kim_interactions' command " TEST_FAILURE(".*ERROR: Must use 'kim_interactions' command "
"after simulation box is defined.*", "after simulation box is defined.*",
lmp->input->one("kim_interactions Ar");); lmp->input->one("kim_interactions Ar"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("kim_init LennardJones_Ar real"); lmp->input->one("kim_init LennardJones_Ar real");
lmp->input->one("lattice fcc 4.4300"); lmp->input->one("lattice fcc 4.4300");
lmp->input->one("region box block 0 10 0 10 0 10"); lmp->input->one("region box block 0 10 0 10 0 10");
lmp->input->one("create_box 1 box"); lmp->input->one("create_box 1 box");
lmp->input->one("create_atoms 1 box"); lmp->input->one("create_atoms 1 box");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
TEST_FAILURE(".*ERROR: Illegal kim_interactions command.*", TEST_FAILURE(".*ERROR: Illegal kim_interactions command.*",
lmp->input->one("kim_interactions Ar Ar");); lmp->input->one("kim_interactions Ar Ar"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("clear"); lmp->input->one("clear");
lmp->input->one("lattice fcc 4.4300"); lmp->input->one("lattice fcc 4.4300");
lmp->input->one("region box block 0 10 0 10 0 10"); lmp->input->one("region box block 0 10 0 10 0 10");
lmp->input->one("create_box 1 box"); lmp->input->one("create_box 1 box");
lmp->input->one("create_atoms 1 box"); lmp->input->one("create_atoms 1 box");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
TEST_FAILURE(".*ERROR: Must use 'kim_init' before 'kim_interactions'.*", TEST_FAILURE(".*ERROR: Must use 'kim_init' before 'kim_interactions'.*",
lmp->input->one("kim_interactions Ar");); lmp->input->one("kim_interactions Ar"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("clear"); lmp->input->one("clear");
lmp->input->one("kim_init LennardJones_Ar real"); lmp->input->one("kim_init LennardJones_Ar real");
lmp->input->one("lattice fcc 4.4300"); lmp->input->one("lattice fcc 4.4300");
lmp->input->one("region box block 0 10 0 10 0 10"); lmp->input->one("region box block 0 10 0 10 0 10");
lmp->input->one("create_box 1 box"); lmp->input->one("create_box 1 box");
lmp->input->one("create_atoms 1 box"); lmp->input->one("create_atoms 1 box");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
TEST_FAILURE(".*ERROR: fixed_types cannot be used with a KIM Portable Model.*", TEST_FAILURE(".*ERROR: fixed_types cannot be used with a KIM Portable Model.*",
lmp->input->one("kim_interactions fixed_types");); lmp->input->one("kim_interactions fixed_types"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("clear"); lmp->input->one("clear");
lmp->input->one("units real"); lmp->input->one("units real");
lmp->input->one("pair_style kim LennardJones_Ar"); lmp->input->one("pair_style kim LennardJones_Ar");
lmp->input->one("region box block 0 1 0 1 0 1"); lmp->input->one("region box block 0 1 0 1 0 1");
lmp->input->one("create_box 4 box"); lmp->input->one("create_box 4 box");
lmp->input->one("pair_coeff * * Ar Ar Ar Ar"); lmp->input->one("pair_coeff * * Ar Ar Ar Ar");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("clear"); lmp->input->one("clear");
lmp->input->one("kim_init Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu metal"); lmp->input->one("kim_init Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu metal");
lmp->input->one("lattice fcc 4.920"); lmp->input->one("lattice fcc 4.920");
lmp->input->one("region box block 0 10 0 10 0 10"); lmp->input->one("region box block 0 10 0 10 0 10");
lmp->input->one("create_box 1 box"); lmp->input->one("create_box 1 box");
lmp->input->one("create_atoms 1 box"); lmp->input->one("create_atoms 1 box");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
TEST_FAILURE(".*ERROR: Species 'Ar' is not supported by this KIM Simulator Model.*", TEST_FAILURE(".*ERROR: Species 'Ar' is not supported by this KIM Simulator Model.*",
lmp->input->one("kim_interactions Ar");); lmp->input->one("kim_interactions Ar"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("clear"); lmp->input->one("clear");
lmp->input->one("kim_init LennardJones_Ar real"); lmp->input->one("kim_init LennardJones_Ar real");
lmp->input->one("lattice fcc 4.4300"); lmp->input->one("lattice fcc 4.4300");
@ -182,7 +181,7 @@ TEST_F(KimCommandsTest, kim_interactions)
lmp->input->one("create_atoms 1 box"); lmp->input->one("create_atoms 1 box");
lmp->input->one("kim_interactions Ar"); lmp->input->one("kim_interactions Ar");
lmp->input->one("mass 1 39.95"); lmp->input->one("mass 1 39.95");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
int ifix = lmp->modify->find_fix("KIM_MODEL_STORE"); int ifix = lmp->modify->find_fix("KIM_MODEL_STORE");
ASSERT_GE(ifix, 0); ASSERT_GE(ifix, 0);
@ -192,26 +191,25 @@ TEST_F(KimCommandsTest, kim_param)
{ {
if (!LAMMPS::is_installed_pkg("KIM")) GTEST_SKIP(); if (!LAMMPS::is_installed_pkg("KIM")) GTEST_SKIP();
TEST_FAILURE(".*ERROR: Illegal kim_param command.*", TEST_FAILURE(".*ERROR: Illegal kim_param command.*", lmp->input->one("kim_param"););
lmp->input->one("kim_param"););
TEST_FAILURE(".*ERROR: Incorrect arguments in kim_param command.\n" TEST_FAILURE(".*ERROR: Incorrect arguments in kim_param command.\n"
"'kim_param get/set' is mandatory.*", "'kim_param get/set' is mandatory.*",
lmp->input->one("kim_param unknown shift 1 shift");); lmp->input->one("kim_param unknown shift 1 shift"););
TEST_FAILURE(".*ERROR: Must use 'kim_init' before 'kim_param'.*", TEST_FAILURE(".*ERROR: Must use 'kim_init' before 'kim_param'.*",
lmp->input->one("kim_param get shift 1 shift");); lmp->input->one("kim_param get shift 1 shift"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("clear"); lmp->input->one("clear");
lmp->input->one("kim_init Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu metal"); lmp->input->one("kim_init Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu metal");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
TEST_FAILURE(".*ERROR: kim_param can only be used with a KIM Portable Model.*", TEST_FAILURE(".*ERROR: kim_param can only be used with a KIM Portable Model.*",
lmp->input->one("kim_param get shift 1 shift");); lmp->input->one("kim_param get shift 1 shift"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("clear"); lmp->input->one("clear");
lmp->input->one("kim_init LennardJones612_UniversalShifted__MO_959249795837_003 real"); lmp->input->one("kim_init LennardJones612_UniversalShifted__MO_959249795837_003 real");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
TEST_FAILURE(".*ERROR: Illegal index '0' for " TEST_FAILURE(".*ERROR: Illegal index '0' for "
"'shift' parameter with the extent of '1'.*", "'shift' parameter with the extent of '1'.*",
@ -241,14 +239,14 @@ TEST_F(KimCommandsTest, kim_param)
"'pair_style kim' before 'kim_param set'.*", "'pair_style kim' before 'kim_param set'.*",
lmp->input->one("kim_param set shift 1 2");); lmp->input->one("kim_param set shift 1 2"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("kim_param get shift 1 shift"); lmp->input->one("kim_param get shift 1 shift");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
ASSERT_FALSE(lmp->input->variable->find("shift") == -1); ASSERT_FALSE(lmp->input->variable->find("shift") == -1);
ASSERT_TRUE(std::string(lmp->input->variable->retrieve("shift")) == std::string("1")); ASSERT_TRUE(std::string(lmp->input->variable->retrieve("shift")) == std::string("1"));
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("clear"); lmp->input->one("clear");
lmp->input->one("kim_init LennardJones612_UniversalShifted__MO_959249795837_003 real"); lmp->input->one("kim_init LennardJones612_UniversalShifted__MO_959249795837_003 real");
lmp->input->one("lattice fcc 4.4300"); lmp->input->one("lattice fcc 4.4300");
@ -257,7 +255,7 @@ TEST_F(KimCommandsTest, kim_param)
lmp->input->one("create_atoms 1 box"); lmp->input->one("create_atoms 1 box");
lmp->input->one("kim_interactions Ar"); lmp->input->one("kim_interactions Ar");
lmp->input->one("mass 1 39.95"); lmp->input->one("mass 1 39.95");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
TEST_FAILURE(".*ERROR: Illegal index '2' for " TEST_FAILURE(".*ERROR: Illegal index '2' for "
"'shift' parameter with the extent of '1'.*", "'shift' parameter with the extent of '1'.*",
@ -274,11 +272,11 @@ TEST_F(KimCommandsTest, kim_param)
"Model does not have the requested '0.4989030' parameter.*", "Model does not have the requested '0.4989030' parameter.*",
lmp->input->one("kim_param set sigmas 1:1 0.5523570 0.4989030");); lmp->input->one("kim_param set sigmas 1:1 0.5523570 0.4989030"););
::testing::internal::CaptureStdout(); if (!verbose) ::testing::internal::CaptureStdout();
lmp->input->one("variable new_shift equal 2"); lmp->input->one("variable new_shift equal 2");
lmp->input->one("kim_param set shift 1 ${new_shift}"); lmp->input->one("kim_param set shift 1 ${new_shift}");
lmp->input->one("kim_param get shift 1 shift"); lmp->input->one("kim_param get shift 1 shift");
::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
ASSERT_TRUE(std::string(lmp->input->variable->retrieve("shift")) == std::string("2")); ASSERT_TRUE(std::string(lmp->input->variable->retrieve("shift")) == std::string("2"));
} }
@ -294,8 +292,7 @@ TEST_F(KimCommandsTest, kim_property)
"3 >= 3.6 support.*", "3 >= 3.6 support.*",
lmp->input->one("kim_property");); lmp->input->one("kim_property"););
} else { } else {
TEST_FAILURE(".*ERROR: Invalid kim_property command.*", TEST_FAILURE(".*ERROR: Invalid kim_property command.*", lmp->input->one("kim_property"););
lmp->input->one("kim_property"););
TEST_FAILURE(".*ERROR: Invalid kim_property command.*", TEST_FAILURE(".*ERROR: Invalid kim_property command.*",
lmp->input->one("kim_property create");); lmp->input->one("kim_property create"););
TEST_FAILURE(".*ERROR: Incorrect arguments in kim_property command.\n" TEST_FAILURE(".*ERROR: Incorrect arguments in kim_property command.\n"