From 7b82e4b4c875973b6d66f8b9d96b89c4e7935b53 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Thu, 5 Oct 2017 00:17:09 +0200 Subject: [PATCH] :hammer: added Makefile target to calculate lcov coverage --- Makefile | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Makefile b/Makefile index 4458362a..ad54be10 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,7 @@ all: @echo "check - compile and execute test suite" @echo "check-fast - compile and execute test suite (skip long-running tests)" @echo "clean - remove built files" + @echo "coverage - create coverage information with lcov" @echo "cppcheck - analyze code with cppcheck" @echo "doctest - compile example files and check their output" @echo "fuzz_testing - prepare fuzz testing of the JSON parser" @@ -35,11 +36,25 @@ check-fast: clean: rm -fr json_unit json_benchmarks fuzz fuzz-testing *.dSYM test/*.dSYM rm -fr benchmarks/files/numbers/*.json + rm -fr build_coverage $(MAKE) clean -Cdoc $(MAKE) clean -Ctest $(MAKE) clean -Cbenchmarks +########################################################################## +# coverage +########################################################################## + +coverage: + mkdir build_coverage + cd build_coverage ; CXX=g++-5 cmake .. -GNinja -DJSON_Coverage=ON + cd build_coverage ; ninja + cd build_coverage ; ctest + cd build_coverage ; ninja lcov_html + open build_coverage/test/html/index.html + + ########################################################################## # documentation tests ##########################################################################