# # Unit Test for @RAUT_TARGET@ # project(rocprofiler-sdk-tests-unit-tests-@RAUT_TARGET@ LANGUAGES C CXX) include(GoogleTest) set(_NAME @RAUT_TARGET@) set(_SOURCES @RAUT_SOURCES@) set(_LABELS @RAUT_LABELS@) set(_FAIL_REGEX "@RAUT_FAIL_REGULAR_EXPRESSION@") set(_PASS_REGEX "@RAUT_PASS_REGULAR_EXPRESSION@") set(_SKIP_REGEX "@RAUT_SKIP_REGULAR_EXPRESSION@") set(_DISABLED "@RAUT_DISABLED@") set(_ENVIRONMENT "@RAUT_ENVIRONMENT@") set(_PREFIX "@RAUT_TEST_PREFIX@") set(_RESOURCE_LOCK "@RAUT_RESOURCE_LOCK@") function(rocprofiler_sdk_update_unit_test_environment _VAR _NAME) set(_UPD) # temporary variable to hold updated list foreach(_VAL IN LISTS ${_VAR}) if(_VAL MATCHES "^${_NAME}=(.*)$") list(APPEND _UPD "${_VAL}:${ARGN}") else() list(APPEND _UPD "${_VAL}") endif() endforeach() # propagate to parent scope set(${_VAR} "${_UPD}" PARENT_SCOPE) endfunction() rocprofiler_sdk_update_unit_test_environment(_ENVIRONMENT "LD_LIBRARY_PATH" "$ENV{LD_LIBRARY_PATH}") rocprofiler_sdk_update_unit_test_environment(_ENVIRONMENT "ROCPROFILER_METRICS_PATH" "$ENV{ROCPROFILER_METRICS_PATH}") # test sources are in a subfolder set(_TEST_SOURCES) foreach(_FILE ${_SOURCES}) list(APPEND _TEST_SOURCES "${CMAKE_CURRENT_LIST_DIR}/${_NAME}/${_FILE}") endforeach() gtest_add_tests( TARGET @RAUT_TARGET@ SOURCES ${_TEST_SOURCES} TEST_LIST @RAUT_TARGET@_TESTS TEST_PREFIX ${_PREFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}) set_tests_properties( ${@RAUT_TARGET@_TESTS} PROPERTIES TIMEOUT @RAUT_TIMEOUT@ LABELS "${_LABELS}" FAIL_REGULAR_EXPRESSION "${_FAIL_REGEX}" PASS_REGULAR_EXPRESSION "${_PASS_REGEX}" SKIP_REGULAR_EXPRESSION "${_SKIP_REGEX}" ENVIRONMENT "${_ENVIRONMENT}") if(_DISABLED) set_tests_properties( ${@RAUT_TARGET@_TESTS} PROPERTIES DISABLED "${_DISABLED}") endif() if(_RESOURCE_LOCK) set_tests_properties( ${@RAUT_TARGET@_TESTS} PROPERTIES RESOURCE_LOCK "${_RESOURCE_LOCK}") endif() # Disable specific tests set(_DISABLE_TESTS "@RAUT_DISABLE_TESTS@") if(_DISABLE_TESTS) set_tests_properties( ${_DISABLE_TESTS} PROPERTIES DISABLED ON) endif()