diff options
Diffstat (limited to 'src/ceph/cmake/modules/AddCephTest.cmake')
-rw-r--r-- | src/ceph/cmake/modules/AddCephTest.cmake | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/ceph/cmake/modules/AddCephTest.cmake b/src/ceph/cmake/modules/AddCephTest.cmake new file mode 100644 index 0000000..f6f6447 --- /dev/null +++ b/src/ceph/cmake/modules/AddCephTest.cmake @@ -0,0 +1,30 @@ +#AddCephTest is a module for adding tests to the "make check" target which runs CTest + +#adds makes target/script into a test, test to check target, sets necessary environment variables +function(add_ceph_test test_name test_path) + add_test(NAME ${test_name} COMMAND ${test_path} ${ARGN}) + add_dependencies(tests ${test_name}) + set_property(TEST + ${test_name} + PROPERTY ENVIRONMENT + CEPH_ROOT=${CMAKE_SOURCE_DIR} + CEPH_BIN=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + CEPH_LIB=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + CEPH_BUILD_DIR=${CMAKE_BINARY_DIR} + LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib + PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}:${CMAKE_SOURCE_DIR}/src:$ENV{PATH} + PYTHONPATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cython_modules/lib.${PYTHON${PYTHON_VERSION}_VERSION_MAJOR}:${CMAKE_SOURCE_DIR}/src/pybind + CEPH_BUILD_VIRTUALENV=${CEPH_BUILD_VIRTUALENV}) + # none of the tests should take more than 1 hour to complete + set_property(TEST + ${test_name} + PROPERTY TIMEOUT 3600) +endfunction() + +#sets uniform compiler flags and link libraries +function(add_ceph_unittest unittest_name unittest_path) + add_ceph_test(${unittest_name} ${unittest_path}) + target_link_libraries(${unittest_name} ${UNITTEST_LIBS}) + set_target_properties(${unittest_name} PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}) +endfunction() + |