Merge branch 'collected-small-fixes' of github.com:rbberger/lammps into collected-small-changes
This commit is contained in:
@ -1234,12 +1234,11 @@ void Input::shell()
|
|||||||
} else if (strcmp(arg[0],"putenv") == 0) {
|
} else if (strcmp(arg[0],"putenv") == 0) {
|
||||||
if (narg < 2) error->all(FLERR,"Illegal shell putenv command");
|
if (narg < 2) error->all(FLERR,"Illegal shell putenv command");
|
||||||
for (int i = 1; i < narg; i++) {
|
for (int i = 1; i < narg; i++) {
|
||||||
char *ptr = strdup(arg[i]);
|
|
||||||
rv = 0;
|
rv = 0;
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
if (ptr != nullptr) rv = _putenv(ptr);
|
if (arg[i]) rv = _putenv(arg[i]);
|
||||||
#else
|
#else
|
||||||
if (ptr != nullptr) rv = putenv(ptr);
|
if (arg[i]) rv = putenv(arg[i]);
|
||||||
#endif
|
#endif
|
||||||
rv = (rv < 0) ? errno : 0;
|
rv = (rv < 0) ? errno : 0;
|
||||||
MPI_Reduce(&rv,&err,1,MPI_INT,MPI_MAX,0,world);
|
MPI_Reduce(&rv,&err,1,MPI_INT,MPI_MAX,0,world);
|
||||||
|
|||||||
@ -312,6 +312,32 @@ TEST_F(SimpleCommandsTest, Units)
|
|||||||
|
|
||||||
TEST_FAILURE(".*ERROR: Illegal units command.*", lmp->input->one("units unknown"););
|
TEST_FAILURE(".*ERROR: Illegal units command.*", lmp->input->one("units unknown"););
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(SimpleCommandsTest, Shell)
|
||||||
|
{
|
||||||
|
if (!verbose) ::testing::internal::CaptureStdout();
|
||||||
|
lmp->input->one("shell putenv TEST_VARIABLE=simpletest");
|
||||||
|
if (!verbose) ::testing::internal::GetCapturedStdout();
|
||||||
|
|
||||||
|
char * test_var = getenv("TEST_VARIABLE");
|
||||||
|
ASSERT_NE(test_var, nullptr);
|
||||||
|
ASSERT_THAT(test_var, StrEq("simpletest"));
|
||||||
|
|
||||||
|
if (!verbose) ::testing::internal::CaptureStdout();
|
||||||
|
lmp->input->one("shell putenv TEST_VARIABLE=simpletest");
|
||||||
|
lmp->input->one("shell putenv TEST_VARIABLE2=simpletest2 OTHER_VARIABLE=2");
|
||||||
|
if (!verbose) ::testing::internal::GetCapturedStdout();
|
||||||
|
|
||||||
|
char * test_var2 = getenv("TEST_VARIABLE2");
|
||||||
|
char * other_var = getenv("OTHER_VARIABLE");
|
||||||
|
|
||||||
|
ASSERT_NE(test_var2, nullptr);
|
||||||
|
ASSERT_THAT(test_var2, StrEq("simpletest2"));
|
||||||
|
|
||||||
|
ASSERT_NE(other_var, nullptr);
|
||||||
|
ASSERT_THAT(other_var, StrEq("2"));
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace LAMMPS_NS
|
} // namespace LAMMPS_NS
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
|
|||||||
Reference in New Issue
Block a user