# HG changeset patch # User Simon Josefsson # Date 1225230827 -3600 # Node ID af888e12d10d4ab170a068ee147e93dccb143e6e # Parent 0072e70cab708d09c8ed3248f17c081fd7063da8 top/maint.mk: Add coverage rules, inspired by scripts in gnupdf. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2008-10-28 Simon Josefsson + + * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf. + 2008-10-28 Simon Josefsson * MODULES.html.sh (Support for systems lacking POSIX:2001): diff --git a/top/maint.mk b/top/maint.mk --- a/top/maint.mk +++ b/top/maint.mk @@ -105,6 +105,30 @@ syntax-check: $(syntax-check-rules) +# Code Coverage + +init-coverage: + make clean + lcov --directory . --zerocounters + +COVERAGE_CCOPTS ?= "-g -fprofile-arcs -ftest-coverage" +COVERAGE_OUT ?= doc/coverage + +build-coverage: + make CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) + make CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) check + mkdir -p $(COVERAGE_OUT) + lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info \ + --capture + +gen-coverage: + genhtml --output-directory $(COVERAGE_OUT) \ + $(COVERAGE_OUT)/$(PACKAGE).info \ + --highlight --frames --legend \ + --title "$(PACKAGE_NAME)" + +coverage: init-coverage build-coverage gen-coverage + # Update gettext files. PACKAGE ?= $(shell basename $(PWD)) POURL = http://translationproject.org/latest/$(PACKAGE)/