-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy pathMakefile.coverage
52 lines (36 loc) · 1.55 KB
/
Makefile.coverage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Coverage targets
.PHONY: clean-gcno clean-gcda \
coverage-html generate-coverage-html clean-coverage-html \
coverage-gcovr generate-coverage-gcovr clean-coverage-gcovr
clean-local: clean-gcno clean-coverage-html clean-coverage-gcovr
clean-gcno:
@echo Removing old coverage instrumentation
-find -name '*.gcno' -print | xargs -r rm
clean-gcda:
@echo Removing old coverage results
-find -name '*.gcda' -print | xargs -r rm
if HAVE_GCOV
coverage-html:
-$(MAKE) $(AM_MAKEFLAGS) -k check
$(MAKE) $(AM_MAKEFLAGS) generate-coverage-html
generate-coverage-html:
@echo Collecting coverage data
$(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool --derive-func-data
$(LCOV) --directory $(top_builddir) --output-file coverage.info --remove coverage.info "*.c" "*.h" "*.vapi"
LANG=C $(GENHTML) --output-directory $(top_builddir)/coveragereport --title "@PACKAGE_STRING@" --num-spaces 4 --legend --show-details $(top_builddir)/coverage.info
clean-coverage-html: clean-gcda
-$(LCOV) --directory $(top_builddir) -z
-rm -rf $(top_builddir)/coverage.info $(top_builddir)/coveragereport
if HAVE_GCOVR
coverage-gcovr:
-$(MAKE) $(AM_MAKEFLAGS) -k check
$(MAKE) $(AM_MAKEFLAGS) generate-coverage-gcovr
coverage-xml: coverage-gcovr
generate-coverage-gcovr:
@echo Generating coverage GCOVR report
$(GCOVR) --xml -r $(top_builddir) -e "tests.*" -o $(top_builddir)/coverage.xml
endif # HAVE_GCOVR
endif # HAVE_GCOV
clean-coverage-gcovr: clean-gcda
-rm -f $(top_builddir)/coverage.xml
clean-coverage-xml: clean-coverage-gcovr