make finding plugins for testing multi-config compatible

This commit is contained in:
Axel Kohlmeyer
2021-10-21 19:22:01 -04:00
parent e75757007e
commit 6ad03498c3
2 changed files with 9 additions and 14 deletions

View File

@ -10,18 +10,8 @@ endif()
target_link_libraries(test_simple_commands PRIVATE lammps gmock) target_link_libraries(test_simple_commands PRIVATE lammps gmock)
add_test(NAME SimpleCommands COMMAND test_simple_commands WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) add_test(NAME SimpleCommands COMMAND test_simple_commands WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
if(BUILD_IS_MULTI_CONFIG) set_tests_properties(SimpleCommands PROPERTIES
set(LAMMPS_PLUGIN_BIN_DIR ${CMAKE_BINARY_DIR}/build-plugins/$<CONFIG>) ENVIRONMENT "LAMMPS_PLUGIN_BIN_DIR=${CMAKE_BINARY_DIR}/build-plugins")
else()
set(LAMMPS_PLUGIN_BIN_DIR ${CMAKE_BINARY_DIR}/build-plugins)
endif()
if(APPLE)
set_tests_properties(SimpleCommands PROPERTIES
ENVIRONMENT "DYLD_LIBRARY_PATH=${LAMMPS_PLUGIN_BIN_DIR}/:${DYLD_LIBRARY_PATH}")
else()
set_tests_properties(SimpleCommands PROPERTIES
ENVIRONMENT "LD_LIBRARY_PATH=${LAMMPS_PLUGIN_BIN_DIR}/:${LD_LIBRARY_PATH}")
endif()
add_executable(test_lattice_region test_lattice_region.cpp) add_executable(test_lattice_region test_lattice_region.cpp)
target_link_libraries(test_lattice_region PRIVATE lammps gmock) target_link_libraries(test_lattice_region PRIVATE lammps gmock)

View File

@ -384,7 +384,12 @@ TEST_F(SimpleCommandsTest, Units)
#if defined(LMP_PLUGIN) #if defined(LMP_PLUGIN)
TEST_F(SimpleCommandsTest, Plugin) TEST_F(SimpleCommandsTest, Plugin)
{ {
std::string loadfmt("plugin load {}plugin.so"); const char *bindir = getenv("LAMMPS_PLUGIN_BIN_DIR");
const char *config = getenv("CMAKE_CONFIG_TYPE");
if (!bindir) GTEST_SKIP();
std::string loadfmt = platform::path_join("plugin load ", bindir);
if (config) loadfmt = platform::path_join(loadfmt, config);
loadfmt = platform::path_join(loadfmt, "{}plugin.so");
::testing::internal::CaptureStdout(); ::testing::internal::CaptureStdout();
lmp->input->one(fmt::format(loadfmt, "hello")); lmp->input->one(fmt::format(loadfmt, "hello"));
auto text = ::testing::internal::GetCapturedStdout(); auto text = ::testing::internal::GetCapturedStdout();
@ -395,7 +400,7 @@ TEST_F(SimpleCommandsTest, Plugin)
lmp->input->one(fmt::format(loadfmt, "xxx")); lmp->input->one(fmt::format(loadfmt, "xxx"));
text = ::testing::internal::GetCapturedStdout(); text = ::testing::internal::GetCapturedStdout();
if (verbose) std::cout << text; if (verbose) std::cout << text;
ASSERT_THAT(text, MatchesRegex(".*Open of file xxx.* failed.*")); ASSERT_THAT(text, MatchesRegex(".*Open of file .*xxx.* failed.*"));
::testing::internal::CaptureStdout(); ::testing::internal::CaptureStdout();
lmp->input->one(fmt::format(loadfmt, "nve2")); lmp->input->one(fmt::format(loadfmt, "nve2"));