summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlns <matzeton@googlemail.com>2022-10-02 21:41:33 +0200
committerToni Uhlig <matzeton@googlemail.com>2022-10-03 15:45:17 +0200
commitb7d8564b6542f57812e243f2d86e7e45feb7ad58 (patch)
treedb2e6fe1ac40e22cb94bd3a273e850ca4cceae43
parent49ea4f847427846e668054704d6e997757805c0b (diff)
Generate code coverage w/o external shell script, use CMake.
* upload codecov/dist artifacts Signed-off-by: lns <matzeton@googlemail.com>
-rw-r--r--CMakeLists.txt28
-rwxr-xr-xscripts/code-coverage.sh8
2 files changed, 21 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8dfbc2c0e..37d54ba38 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -112,11 +112,18 @@ if(ENABLE_COVERAGE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} --coverage")
- add_custom_target(coverage)
+ add_custom_target(coverage DEPENDS "${CMAKE_BINARY_DIR}/coverage_report/nDPId/index.html")
add_custom_command(
- TARGET coverage
- COMMAND "${CMAKE_SOURCE_DIR}/scripts/code-coverage.sh"
- DEPENDS nDPId nDPIsrvd nDPId-test
+ OUTPUT "${CMAKE_BINARY_DIR}/coverage_report/nDPId/index.html"
+ COMMAND lcov --directory "${CMAKE_BINARY_DIR}" --directory "${CMAKE_SOURCE_DIR}/libnDPI" --capture --output-file "${CMAKE_BINARY_DIR}/lcov.info"
+ COMMAND genhtml -o "${CMAKE_BINARY_DIR}/coverage_report" "${CMAKE_BINARY_DIR}/lcov.info"
+ DEPENDS nDPId nDPId-test nDPIsrvd
+ )
+ add_custom_target(coverage-view)
+ add_custom_command(
+ TARGET coverage-view
+ COMMAND cd "${CMAKE_BINARY_DIR}/coverage_report" && python3 -m http.server
+ DEPENDS "${CMAKE_BINARY_DIR}/coverage_report/nDPId/index.html"
)
endif()
if(ENABLE_SANITIZER)
@@ -130,17 +137,21 @@ if(ENABLE_ZLIB)
pkg_check_modules(ZLIB REQUIRED zlib)
endif()
if(NDPI_WITH_GCRYPT)
- message(STATUS "Enable GCRYPT")
+ message(STATUS "nDPI: Enable GCRYPT")
set(NDPI_ADDITIONAL_ARGS "${NDPI_ADDITIONAL_ARGS} --with-local-libgcrypt")
endif()
if(NDPI_WITH_PCRE)
- message(STATUS "Enable PCRE")
+ message(STATUS "nDPI: Enable PCRE")
set(NDPI_ADDITIONAL_ARGS "${NDPI_ADDITIONAL_ARGS} --with-pcre")
endif()
if(NDPI_WITH_MAXMINDDB)
- message(STATUS "Enable MAXMINDDB")
+ message(STATUS "nDPI: Enable MAXMINDDB")
set(NDPI_ADDITIONAL_ARGS "${NDPI_ADDITIONAL_ARGS} --with-maxminddb")
endif()
+if(ENABLE_COVERAGE)
+ message(STATUS "nDPI: Enable Coverage")
+ set(NDPI_ADDITIONAL_ARGS "${NDPI_ADDITIONAL_ARGS} --enable-code-coverage")
+endif()
execute_process(
COMMAND git describe --tags
@@ -274,6 +285,9 @@ target_link_libraries(nDPId-test "${STATIC_LIBNDPI_LIB}" "${pkgcfg_lib_NDPI_ndpi
if(BUILD_EXAMPLES)
add_executable(nDPIsrvd-collectd examples/c-collectd/c-collectd.c)
+ if(BUILD_NDPI)
+ add_dependencies(nDPIsrvd-collectd libnDPI)
+ endif()
target_compile_definitions(nDPIsrvd-collectd PRIVATE ${NDPID_DEFS})
target_include_directories(nDPIsrvd-collectd PRIVATE
"${STATIC_LIBNDPI_INC}" "${DEFAULT_NDPI_INCLUDE}" "${CMAKE_SOURCE_DIR}" ${NDPID_DEPS_INC})
diff --git a/scripts/code-coverage.sh b/scripts/code-coverage.sh
deleted file mode 100755
index 37038bd2a..000000000
--- a/scripts/code-coverage.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-cd "$(dirname "${0}")/.."
-mkdir -p coverage_report
-lcov --directory . --capture --output-file lcov.info
-genhtml -o coverage_report lcov.info