Add "make coverage" target to build code coverage. Change-Id: I8b00004e9ea5954ee7117cdaaaa2969090762570 Reviewed-on: https://weave-review.googlesource.com/3126 Reviewed-by: Mike Frysinger <vapier@google.com>
diff --git a/tests.mk b/tests.mk index c7db877..35557d7 100644 --- a/tests.mk +++ b/tests.mk
@@ -65,5 +65,21 @@ testall : test export-test -.PHONY : test export-test testall +### +# coverage +# This runs coverage against unit tests, invoke with "make coverage". +# Output "homepage" is out/$(BUILD_MODE)/coverage_html/index.html +# Running a mode other than Debug will result in incorrect coverage data. +# https://gcc.gnu.org/onlinedocs/gcc/Gcov-and-Optimization.html + +coverage: CFLAGS+=--coverage + +run_coverage: test + lcov --capture --directory out/$(BUILD_MODE) --output-file out/$(BUILD_MODE)/coverage.info + lcov -b . --remove out/$(BUILD_MODE)/coverage.info "*third_party*" "/usr/include/*" "*/include/weave/test/*" "*/src/test/*" "*/include/weave/provider/test/*" -o out/$(BUILD_MODE)/coverage_filtered.info + genhtml out/$(BUILD_MODE)/coverage_filtered.info --output-directory out/$(BUILD_MODE)/coverage_html + +coverage: run_coverage + +.PHONY : coverage run_coverage test export-test testall