cmake_minimum_required(VERSION 3.16)
set(UT_COMMON_INC ${CMAKE_CURRENT_SOURCE_DIR}/common CACHE STRING "ut common include path" FORCE)
include(${PROJECT_SOURCE_DIR}/cmake/intf_pub_llt_gccnative.cmake)
add_cann_third_party(gtest)
file(
GLOB SUBDIRECTORIES
LIST_DIRECTORIES true
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/*)
foreach(SUBDIR ${SUBDIRECTORIES})
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIR}/CMakeLists.txt)
add_subdirectory(${SUBDIR})
endif()
endforeach()
if(ENABLE_COVERAGE)
if(UT_TEST_ALL OR OP_KERNEL_UT)
set(depend_module ${depend_module} ${PKG_NAME}_op_kernel_ut)
endif()
if(UT_TEST_ALL OR OP_HOST_UT)
set(depend_module ${depend_module} ${PKG_NAME}_op_host_ut)
endif()
if(UT_TEST_ALL OR OP_API_UT)
set(depend_module ${depend_module} ${PKG_NAME}_op_api_ut)
endif()
if(UT_TEST_ALL OR OP_KERNEL_AICPU_UT)
set(depend_module ${depend_module} ${PKG_NAME}_aicpu_op_kernel_ut)
endif()
message("coverage depend_module is ${depend_module}")
if(NOT "" STREQUAL "${depend_module}")
add_custom_target(
generate_ops_cpp_cov ALL
DEPENDS ${depend_module}
COMMENT "Generate coverage for ops ut")
endif()
if(ENABLE_UT_EXEC)
set(GENERATE_CPP_COV ${CMAKE_SOURCE_DIR}/scripts/util/generate_cpp_cov.sh)
set(_ops_capture_path ${CMAKE_BINARY_DIR})
if(OP_KERNEL_UT AND NOT UT_TEST_ALL)
set(_ut_type op_kernel)
elseif(OP_HOST_UT AND NOT UT_TEST_ALL)
set(_ut_type op_host)
elseif(OP_API_UT AND NOT UT_TEST_ALL)
set(_ut_type op_api)
elseif(OP_KERNEL_AICPU_UT AND NOT UT_TEST_ALL)
set(_ut_type op_kernel_aicpu)
else()
set(_ut_type all)
endif()
set(_ops_cov_report ${CMAKE_BINARY_DIR}/tests/ut/cov_report)
set(_ops_cov_html ${_ops_cov_report}/cpp_utest)
set(_ops_cov_data ${_ops_cov_report}/cpp_utest/ops.info)
message(STATUS "GENERATE_CPP_COV is ${GENERATE_CPP_COV}")
message(STATUS "ASCEND_OP_NAME is ${ASCEND_OP_NAME}")
message(STATUS "_ut_type: ${_ut_type}")
add_custom_command(
TARGET generate_ops_cpp_cov
COMMAND bash ${GENERATE_CPP_COV} ${_ops_capture_path} ${_ops_cov_data}
${_ops_cov_html} ${_ut_type} "${ASCEND_OP_NAME}"
VERBATIM)
endif()
endif()