add draft version of unit test (will have to be improved for MacOS)
This commit is contained in:
@ -1,5 +1,24 @@
|
|||||||
|
|
||||||
|
# build LAMMPS plugins, but not on Windows
|
||||||
|
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||||
|
ExternalProject_Add(plugins
|
||||||
|
SOURCE_DIR "${LAMMPS_DIR}/examples/plugins"
|
||||||
|
BINARY_DIR "${CMAKE_BINARY_DIR}/plugins"
|
||||||
|
CMAKE_ARGS ${CMAKE_REQUEST_PIC}
|
||||||
|
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||||
|
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
|
||||||
|
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||||
|
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
|
||||||
|
BUILD_BYPRODUCTS <BINARY_DIR>/morse2plugin${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||||
|
<BINARY_DIR>/nve2plugin${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||||
|
<BINARY_DIR>/helloplugin${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||||
|
INSTALL_COMMAND ""
|
||||||
|
TEST_COMMAND "")
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(test_simple_commands test_simple_commands.cpp)
|
add_executable(test_simple_commands test_simple_commands.cpp)
|
||||||
|
add_dependencies(test_simple_commands plugins)
|
||||||
target_link_libraries(test_simple_commands PRIVATE lammps GTest::GMock GTest::GTest)
|
target_link_libraries(test_simple_commands PRIVATE lammps GTest::GMock GTest::GTest)
|
||||||
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})
|
||||||
|
|
||||||
|
|||||||
@ -344,6 +344,15 @@ 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, Plugin)
|
||||||
|
{
|
||||||
|
::testing::internal::CaptureStdout();
|
||||||
|
lmp->input->one("plugin load plugins/helloplugin.so");
|
||||||
|
auto text = ::testing::internal::GetCapturedStdout();
|
||||||
|
|
||||||
|
ASSERT_THAT(text, MatchesRegex(".*Loading plugin: Hello world command.*"));
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(SimpleCommandsTest, Shell)
|
TEST_F(SimpleCommandsTest, Shell)
|
||||||
{
|
{
|
||||||
if (!verbose) ::testing::internal::CaptureStdout();
|
if (!verbose) ::testing::internal::CaptureStdout();
|
||||||
|
|||||||
Reference in New Issue
Block a user