From 8fa845548bc2883c6b1335b4815fa945964f517f Mon Sep 17 00:00:00 2001 From: Kevin Murray <spam@kdmurray.id.au> Date: Wed, 9 Jul 2014 18:37:32 +1000 Subject: [PATCH] Add coverage-html makefile target This uses lcov to generate a nice HTML report of test code coverage, including branch coverage. Signed-off-by: Kevin Murray <spam@kdmurray.id.au> --- Makefile.am | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Makefile.am b/Makefile.am index 6eceb761f4..ab0caf008a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -74,6 +74,17 @@ test-network: all reset-gcov: rm -f src/*/*.gcda +HTML_COVER_DIR=./coverage_html +coverage-html: all + test -d $(HTML_COVER_DIR) && rm -rf $(HTML_COVER_DIR) || true + test -e `which lcov` || (echo "lcov must be installed. See <http://ltp.sourceforge.net/coverage/lcov.php>." && false) + mkdir -p $(HTML_COVER_DIR) + lcov --rc lcov_branch_coverage=1 --directory ./src --zerocounters + ./src/test/test + lcov --capture --rc lcov_branch_coverage=1 --no-external --directory . --output-file "$(HTML_COVER_DIR)/lcov.tmp" + lcov --remove "$(HTML_COVER_DIR)/lcov.tmp" --rc lcov_branch_coverage=1 'test/*' 'ext/tinytest*' '/usr/*' --output-file "$(HTML_COVER_DIR)/lcov.info" + genhtml --branch-coverage -o "$(HTML_COVER_DIR)" "$(HTML_COVER_DIR)/lcov.info" + # Avoid strlcpy.c, strlcat.c, aes.c, OpenBSD_malloc_Linux.c, sha256.c, # eventdns.[hc], tinytest*.[ch] check-spaces: -- GitLab