add argument passing via TEST_ARGS environment variable to all tests with an explicit main function

This commit is contained in:
Axel Kohlmeyer
2020-06-24 09:53:56 -04:00
parent 6824b69ae9
commit 2af8d7a751
5 changed files with 59 additions and 9 deletions

View File

@ -26,6 +26,8 @@
// whether to print verbose output (i.e. not capturing LAMMPS screen output). // whether to print verbose output (i.e. not capturing LAMMPS screen output).
bool verbose = false; bool verbose = false;
using LAMMPS_NS::utils::split_words;
namespace LAMMPS_NS { namespace LAMMPS_NS {
using ::testing::Eq; using ::testing::Eq;
@ -127,6 +129,17 @@ int main(int argc, char **argv)
{ {
MPI_Init(&argc, &argv); MPI_Init(&argc, &argv);
::testing::InitGoogleMock(&argc, argv); ::testing::InitGoogleMock(&argc, argv);
// handle arguments passed via environment variable
if (const char *var = getenv("TEST_ARGS")) {
std::vector<std::string> env = split_words(var);
for (auto arg : env) {
if (arg == "-v") {
verbose = true;
}
}
}
if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true; if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true;
int rv = RUN_ALL_TESTS(); int rv = RUN_ALL_TESTS();

View File

@ -82,15 +82,17 @@ int main(int argc, char **argv)
} }
// handle arguments passed via environment variable // handle arguments passed via environment variable
std::vector<std::string> env = split_words(getenv("TEST_ARGS")); if (const char *var = getenv("TEST_ARGS")) {
for (auto arg : env) { std::vector<std::string> env = split_words(var);
if (arg == "-u") { for (auto arg : env) {
generate_yaml_file(argv[1], test_config); if (arg == "-u") {
return 0; generate_yaml_file(argv[1], test_config);
} else if (arg == "-s") { return 0;
print_stats = true; } else if (arg == "-s") {
} else if (arg == "-v") { print_stats = true;
verbose = true; } else if (arg == "-v") {
verbose = true;
}
} }
} }

View File

@ -38,6 +38,8 @@
#define GETIDX(i) lmp->atom->map(i) #define GETIDX(i) lmp->atom->map(i)
using LAMMPS_NS::utils::split_words;
// whether to print verbose output (i.e. not capturing LAMMPS screen output). // whether to print verbose output (i.e. not capturing LAMMPS screen output).
bool verbose = false; bool verbose = false;
@ -1167,6 +1169,16 @@ int main(int argc, char **argv)
{ {
MPI_Init(&argc, &argv); MPI_Init(&argc, &argv);
::testing::InitGoogleMock(&argc, argv); ::testing::InitGoogleMock(&argc, argv);
// handle arguments passed via environment variable
if (const char *var = getenv("TEST_ARGS")) {
std::vector<std::string> env = split_words(var);
for (auto arg : env) {
if (arg == "-v") {
verbose = true;
}
}
}
if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true; if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true;
int rv = RUN_ALL_TESTS(); int rv = RUN_ALL_TESTS();

View File

@ -23,6 +23,7 @@
#include <mpi.h> #include <mpi.h>
using namespace LAMMPS_NS; using namespace LAMMPS_NS;
using utils::split_words;
// whether to print verbose output (i.e. not capturing LAMMPS screen output). // whether to print verbose output (i.e. not capturing LAMMPS screen output).
bool verbose = false; bool verbose = false;
@ -208,6 +209,17 @@ int main(int argc, char **argv)
{ {
MPI_Init(&argc, &argv); MPI_Init(&argc, &argv);
::testing::InitGoogleMock(&argc, argv); ::testing::InitGoogleMock(&argc, argv);
// handle arguments passed via environment variable
if (const char *var = getenv("TEST_ARGS")) {
std::vector<std::string> env = split_words(var);
for (auto arg : env) {
if (arg == "-v") {
verbose = true;
}
}
}
if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true; if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true;
int rv = RUN_ALL_TESTS(); int rv = RUN_ALL_TESTS();

View File

@ -34,6 +34,7 @@
#include <mpi.h> #include <mpi.h>
using namespace LAMMPS_NS; using namespace LAMMPS_NS;
using utils::split_words;
// whether to print verbose output (i.e. not capturing LAMMPS screen output). // whether to print verbose output (i.e. not capturing LAMMPS screen output).
bool verbose = false; bool verbose = false;
@ -198,6 +199,16 @@ int main(int argc, char **argv)
{ {
MPI_Init(&argc, &argv); MPI_Init(&argc, &argv);
::testing::InitGoogleMock(&argc, argv); ::testing::InitGoogleMock(&argc, argv);
// handle arguments passed via environment variable
if (const char *var = getenv("TEST_ARGS")) {
std::vector<std::string> env = split_words(var);
for (auto arg : env) {
if (arg == "-v") {
verbose = true;
}
}
}
if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true; if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true;
int rv = RUN_ALL_TESTS(); int rv = RUN_ALL_TESTS();