1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- set(MODULE_NAME "test_rvccomm")
- set(MODULE_PREFIX "TEST_RVCCOMM")
- include_directories(..)
- set(${MODULE_PREFIX}_DRIVER ${MODULE_NAME}.cpp)
- set(${MODULE_PREFIX}_TEST_DEFINITIONS "")
- file(GLOB ${MODULE_PREFIX}_TESTS "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
- #Google Test
- include_directories(${GTEST_ROOT})
- include_directories(${GMOCK_ROOT})
- list(APPEND comm_test_libraries RVCComm_a )
- list(APPEND GTEST_LIBS gtest)
- list(APPEND GTEST_LIBS gtest_main)
- list(APPEND GMOCK_LIBS gmock)
- list(APPEND GMOCK_LIBS gmock_main)
- foreach(test ${${MODULE_PREFIX}_TESTS})
- get_filename_component(test_name ${test} NAME_WE)
- add_executable(${test_name} ${test})
- target_link_directories(${test_name} PRIVATE ${ADD_LIB_DIRS})
- target_link_libraries(${test_name} PRIVATE ${comm_test_libraries} PUBLIC CONAN_PKG::gtest)
- target_link_libraries(${test_name} PRIVATE ${CONAN_LIBS_LIBSSH2}
- ${CONAN_LIBS_CURL}
- ${CONAN_LIBS_JSONCPP})
- set_property(TARGET ${test_name} PROPERTY FOLDER "test/rvccomm")
- if (BUILD_SHARED_LIBS)
- set_target_properties(${test_name} PROPERTIES COMPILE_DEFINITIONS
- "RVCCOMM_LINKED_AS_STATIC_LIBRARY=1")
- else()
- set_target_properties(${test_name} PROPERTIES COMPILE_DEFINITIONS "RVCCOMM_LINKED_AS_STATIC_LIBRARY=1")
- endif()
- # 会将 测试的执行程序生成在指定的文件夹,并且带上编译的配置条件比如 Debug
- set_target_properties(${test_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
- message(STATUS "add test case: ${test_name}...")
- add_test(NAME ${test_name} COMMAND ${TESTING_OUTPUT_DIRECTORY}/${test_name})
- set_tests_properties(${teset_name} PROPERTIES FAIL_REGULAR_EXPRESSION "FAILED;ERROR;Failed;error")
- endforeach()
- add_executable(SMTest ${CMAKE_CURRENT_SOURCE_DIR}/SM3Test.cxx ${CMAKE_CURRENT_SOURCE_DIR}/../utils.cpp)
- target_include_directories(SMTest PRIVATE ${CONAN_INCLUDE_DIRS_LIBKYSM})
- target_link_directories(SMTest PRIVATE ${ADD_LIB_DIRS})
- set_target_properties(${test_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
- target_include_directories(SMTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..)
- target_link_libraries(SMTest PRIVATE ${KYSM_LIBRARY_NAME} ${CONAN_LIBS_LIBSSH2}
- ${CONAN_LIBS_CURL}
- ${CONAN_LIBS_JSONCPP})
- message(STATUS "add test case: SMTest...")
- add_test(NAME SMTest COMMAND ${TESTING_OUTPUT_DIRECTORY}/${test_name})
- set_tests_properties(SMTest PROPERTIES FAIL_REGULAR_EXPRESSION "FAILED;ERROR;Failed;error")
|