|
|
|
|
@ -46,11 +46,7 @@ else()
|
|
|
|
|
endif()
|
|
|
|
|
target_include_directories(style_tests PRIVATE ${LAMMPS_SOURCE_DIR})
|
|
|
|
|
target_link_libraries(style_tests PUBLIC gmock Yaml::Yaml lammps)
|
|
|
|
|
if(BUILD_MPI)
|
|
|
|
|
target_link_libraries(style_tests PUBLIC MPI::MPI_CXX)
|
|
|
|
|
else()
|
|
|
|
|
target_link_libraries(style_tests PUBLIC mpi_stubs)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
# propagate sanitizer options to test tools
|
|
|
|
|
if(ENABLE_SANITIZER AND (NOT (ENABLE_SANITIZER STREQUAL "none")))
|
|
|
|
|
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
|
|
|
|
|
@ -72,6 +68,28 @@ if(FFT_SINGLE)
|
|
|
|
|
target_compile_definitions(test_pair_style PRIVATE -DFFT_SINGLE)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
# prepare environment for testers
|
|
|
|
|
if(WIN32)
|
|
|
|
|
set(FORCE_TEST_ENVIRONMENT PYTHONPATH=${TEST_INPUT_FOLDER})
|
|
|
|
|
else()
|
|
|
|
|
set(FORCE_TEST_ENVIRONMENT PYTHONPATH=${TEST_INPUT_FOLDER}:$ENV{PYTHONPATH})
|
|
|
|
|
endif()
|
|
|
|
|
list(APPEND FORCE_TEST_ENVIRONMENT "PYTHONUNBUFFERED=1")
|
|
|
|
|
list(APPEND FORCE_TEST_ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR}")
|
|
|
|
|
get_property(BUILD_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
|
|
|
|
if(BUILD_IS_MULTI_CONFIG)
|
|
|
|
|
set(LAMMPS_LIB_PATH ${CMAKE_BINARY_DIR}/$<CONFIG>)
|
|
|
|
|
else()
|
|
|
|
|
set(LAMMPS_LIB_PATH ${CMAKE_BINARY_DIR})
|
|
|
|
|
endif()
|
|
|
|
|
if(APPLE)
|
|
|
|
|
list(APPEND FORCE_TEST_ENVIRONMENT "DYLD_LIBRARY_PATH=${LAMMPS_LIB_PATH}:$ENV{DYLD_LIBRARY_PATH}")
|
|
|
|
|
elseif(WIN32)
|
|
|
|
|
list(APPEND FORCE_TEST_ENVIRONMENT "LAMMPSDLLPATH=${LAMMPS_LIB_PATH}")
|
|
|
|
|
else()
|
|
|
|
|
list(APPEND FORCE_TEST_ENVIRONMENT "LD_LIBRARY_PATH=${LAMMPS_LIB_PATH}:$ENV{LD_LIBRARY_PATH}")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
# tests for molecular systems and related pair styles
|
|
|
|
|
file(GLOB MOL_PAIR_TESTS LIST_DIRECTORIES false ${TEST_INPUT_FOLDER}/mol-pair-*.yaml)
|
|
|
|
|
# cannot test MSM with single precision data
|
|
|
|
|
@ -81,8 +99,12 @@ endif()
|
|
|
|
|
foreach(TEST ${MOL_PAIR_TESTS})
|
|
|
|
|
string(REGEX REPLACE "^.*mol-pair-(.*)\.yaml" "MolPairStyle:\\1" TNAME ${TEST})
|
|
|
|
|
extract_tags(TEST_TAGS ${TEST})
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_pair_style ${TEST} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};PYTHONPATH=${TEST_INPUT_FOLDER}:$ENV{PYTHONPATH}")
|
|
|
|
|
list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME)
|
|
|
|
|
if(_SKIPME GREATER_EQUAL 0)
|
|
|
|
|
continue()
|
|
|
|
|
endif()
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_pair_style ${TEST})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "${FORCE_TEST_ENVIRONMENT}")
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}")
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
@ -91,8 +113,12 @@ file(GLOB ATOMIC_PAIR_TESTS LIST_DIRECTORIES false ${TEST_INPUT_FOLDER}/atomic-p
|
|
|
|
|
foreach(TEST ${ATOMIC_PAIR_TESTS})
|
|
|
|
|
string(REGEX REPLACE "^.*atomic-pair-(.*)\.yaml" "AtomicPairStyle:\\1" TNAME ${TEST})
|
|
|
|
|
extract_tags(TEST_TAGS ${TEST})
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_pair_style ${TEST} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};PYTHONPATH=${TEST_INPUT_FOLDER}:$ENV{PYTHONPATH}")
|
|
|
|
|
list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME)
|
|
|
|
|
if(_SKIPME GREATER_EQUAL 0)
|
|
|
|
|
continue()
|
|
|
|
|
endif()
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_pair_style ${TEST})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "${FORCE_TEST_ENVIRONMENT}")
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}")
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
@ -101,8 +127,12 @@ file(GLOB MANYBODY_PAIR_TESTS LIST_DIRECTORIES false ${TEST_INPUT_FOLDER}/manybo
|
|
|
|
|
foreach(TEST ${MANYBODY_PAIR_TESTS})
|
|
|
|
|
string(REGEX REPLACE "^.*manybody-pair-(.*)\.yaml" "ManybodyPairStyle:\\1" TNAME ${TEST})
|
|
|
|
|
extract_tags(TEST_TAGS ${TEST})
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_pair_style ${TEST} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};PYTHONPATH=${TEST_INPUT_FOLDER}:$ENV{PYTHONPATH}")
|
|
|
|
|
list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME)
|
|
|
|
|
if(_SKIPME GREATER_EQUAL 0)
|
|
|
|
|
continue()
|
|
|
|
|
endif()
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_pair_style ${TEST})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "${FORCE_TEST_ENVIRONMENT}")
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}")
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
@ -114,8 +144,12 @@ file(GLOB BOND_TESTS LIST_DIRECTORIES false ${TEST_INPUT_FOLDER}/bond-*.yaml)
|
|
|
|
|
foreach(TEST ${BOND_TESTS})
|
|
|
|
|
string(REGEX REPLACE "^.*bond-(.*)\.yaml" "BondStyle:\\1" TNAME ${TEST})
|
|
|
|
|
extract_tags(TEST_TAGS ${TEST})
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_bond_style ${TEST} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};PYTHONPATH=${TEST_INPUT_FOLDER}:$ENV{PYTHONPATH}")
|
|
|
|
|
list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME)
|
|
|
|
|
if(_SKIPME GREATER_EQUAL 0)
|
|
|
|
|
continue()
|
|
|
|
|
endif()
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_bond_style ${TEST})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "${FORCE_TEST_ENVIRONMENT}")
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}")
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
@ -127,8 +161,12 @@ file(GLOB ANGLE_TESTS LIST_DIRECTORIES false ${TEST_INPUT_FOLDER}/angle-*.yaml)
|
|
|
|
|
foreach(TEST ${ANGLE_TESTS})
|
|
|
|
|
string(REGEX REPLACE "^.*angle-(.*)\.yaml" "AngleStyle:\\1" TNAME ${TEST})
|
|
|
|
|
extract_tags(TEST_TAGS ${TEST})
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_angle_style ${TEST} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};PYTHONPATH=${TEST_INPUT_FOLDER}:$ENV{PYTHONPATH}")
|
|
|
|
|
list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME)
|
|
|
|
|
if(_SKIPME GREATER_EQUAL 0)
|
|
|
|
|
continue()
|
|
|
|
|
endif()
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_angle_style ${TEST})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "${FORCE_TEST_ENVIRONMENT}")
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}")
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
@ -141,8 +179,12 @@ endif()
|
|
|
|
|
foreach(TEST ${KSPACE_TESTS})
|
|
|
|
|
string(REGEX REPLACE "^.*kspace-(.*)\.yaml" "KSpaceStyle:\\1" TNAME ${TEST})
|
|
|
|
|
extract_tags(TEST_TAGS ${TEST})
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_pair_style ${TEST} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};PYTHONPATH=${TEST_INPUT_FOLDER}:$ENV{PYTHONPATH}")
|
|
|
|
|
list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME)
|
|
|
|
|
if(_SKIPME GREATER_EQUAL 0)
|
|
|
|
|
continue()
|
|
|
|
|
endif()
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_pair_style ${TEST})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "${FORCE_TEST_ENVIRONMENT}")
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}")
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
@ -158,8 +200,16 @@ file(GLOB FIX_TIMESTEP_TESTS LIST_DIRECTORIES false ${TEST_INPUT_FOLDER}/fix-tim
|
|
|
|
|
foreach(TEST ${FIX_TIMESTEP_TESTS})
|
|
|
|
|
string(REGEX REPLACE "^.*fix-timestep-(.*)\.yaml" "FixTimestep:\\1" TNAME ${TEST})
|
|
|
|
|
extract_tags(TEST_TAGS ${TEST})
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_fix_timestep ${TEST} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME)
|
|
|
|
|
if(_SKIPME GREATER_EQUAL 0)
|
|
|
|
|
continue()
|
|
|
|
|
endif()
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_fix_timestep ${TEST})
|
|
|
|
|
if(WIN32)
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};PYTHONPATH=${TEST_INPUT_FOLDER}\\\;${LAMMPS_PYTHON_DIR}")
|
|
|
|
|
else()
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};PYTHONPATH=${TEST_INPUT_FOLDER}:${LAMMPS_PYTHON_DIR}:$ENV{PYTHONPATH}")
|
|
|
|
|
endif()
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}")
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
@ -171,7 +221,11 @@ file(GLOB DIHEDRAL_TESTS LIST_DIRECTORIES false ${TEST_INPUT_FOLDER}/dihedral-*.
|
|
|
|
|
foreach(TEST ${DIHEDRAL_TESTS})
|
|
|
|
|
string(REGEX REPLACE "^.*dihedral-(.*)\.yaml" "DihedralStyle:\\1" TNAME ${TEST})
|
|
|
|
|
extract_tags(TEST_TAGS ${TEST})
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_dihedral_style ${TEST} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME)
|
|
|
|
|
if(_SKIPME GREATER_EQUAL 0)
|
|
|
|
|
continue()
|
|
|
|
|
endif()
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_dihedral_style ${TEST})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};PYTHONPATH=${TEST_INPUT_FOLDER}:$ENV{PYTHONPATH}")
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}")
|
|
|
|
|
endforeach()
|
|
|
|
|
@ -184,7 +238,11 @@ file(GLOB IMPROPER_TESTS LIST_DIRECTORIES false ${TEST_INPUT_FOLDER}/improper-*.
|
|
|
|
|
foreach(TEST ${IMPROPER_TESTS})
|
|
|
|
|
string(REGEX REPLACE "^.*improper-(.*)\.yaml" "ImproperStyle:\\1" TNAME ${TEST})
|
|
|
|
|
extract_tags(TEST_TAGS ${TEST})
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_improper_style ${TEST} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME)
|
|
|
|
|
if(_SKIPME GREATER_EQUAL 0)
|
|
|
|
|
continue()
|
|
|
|
|
endif()
|
|
|
|
|
add_test(NAME ${TNAME} COMMAND test_improper_style ${TEST})
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR};PYTHONPATH=${TEST_INPUT_FOLDER}:$ENV{PYTHONPATH}")
|
|
|
|
|
set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}")
|
|
|
|
|
endforeach()
|
|
|
|
|
|