From 9432340362a0eb8fe5ed39cdac0a907f0f50a461 Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Thu, 11 Nov 2021 19:22:12 +0100 Subject: [PATCH] tests: make code coverage for unit tests optional Add a new cmake option VPP_BUILD_TESTS_WITH_COVERAGE to enable building unittests with clang code coverage. Type: improvement Signed-off-by: Ole Troan Change-Id: I9cbe9e3031afdcd03bc8f9203d662b91677724ab Signed-off-by: Ole Troan --- src/CMakeLists.txt | 8 ++++++++ src/plugins/nat/CMakeLists.txt | 2 +- src/vat2/CMakeLists.txt | 3 +-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3966bc322ce..a1764f73b18 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -156,6 +156,14 @@ if(VPP_ENABLE_TRAJECTORY_TRACE) add_compile_definitions(VLIB_BUFFER_TRACE_TRAJECTORY=1) endif() +############################################################################## +# unittest with clang ode coverage +############################################################################## + +if("${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.13" AND "${CMAKE_C_COMPILER_ID}" MATCHES "(Apple)?[Cc]lang") + option(VPP_BUILD_TESTS_WITH_COVERAGE "Build unit tests with code coverage" OFF) +endif() + ############################################################################## # install config ############################################################################## diff --git a/src/plugins/nat/CMakeLists.txt b/src/plugins/nat/CMakeLists.txt index 2545da6da18..54c15374291 100644 --- a/src/plugins/nat/CMakeLists.txt +++ b/src/plugins/nat/CMakeLists.txt @@ -199,7 +199,7 @@ add_custom_target(test_pnat-run DEPENDS test_pnat ) -if("${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.13" AND "${CMAKE_C_COMPILER_ID}" MATCHES "(Apple)?[Cc]lang") +if(VPP_BUILD_TESTS_WITH_COVERAGE) set(TARGET_NAME test_pnat) set(COV_SOURCES ${CMAKE_SOURCE_DIR}/plugins/nat/pnat/pnat.c ${CMAKE_SOURCE_DIR}/plugins/nat/pnat/pnat_node.h ${CMAKE_SOURCE_DIR}/plugins/nat/pnat/pnat_node.c) diff --git a/src/vat2/CMakeLists.txt b/src/vat2/CMakeLists.txt index c44d2452ea1..31d429346ac 100644 --- a/src/vat2/CMakeLists.txt +++ b/src/vat2/CMakeLists.txt @@ -52,8 +52,7 @@ add_vpp_executable(test_vat2 ENABLE_EXPORTS NO_INSTALL rt m dl crypto ) #target_link_options(test_vat2 PUBLIC "LINKER:-fsanitize=address") - -if("${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.13" AND "${CMAKE_C_COMPILER_ID}" MATCHES "(Apple)?[Cc]lang") +if(VPP_BUILD_TESTS_WITH_COVERAGE) set(TARGET_NAME test_vat2) message("Building with llvm Code Coverage Tools ${TARGET_NAME}") -- 2.16.6