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 ##########################################################################