summaryrefslogtreecommitdiff
path: root/common/coverage/lcov.mak
blob: 0ca94564abec5fe984d667a3cb247599b65f97da (plain)
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
## .PHONY so it always rebuilds it
.PHONY: lcov-reset lcov lcov-run lcov-report lcov-upload

# run lcov from scratch, always
lcov-reset:
	$(MAKE) lcov-run
	$(MAKE) lcov-report

# run lcov from scratch if the dir is not there
lcov:
	$(MAKE) lcov-reset

if GST_GCOV_ENABLED
# reset run coverage tests
lcov-run:
	@-rm -rf lcov
	lcov --directory . --zerocounters
	-if test -d tests/check; then $(MAKE) -C tests/check inspect; fi
	-$(MAKE) check

# generate report based on current coverage data
lcov-report:
	mkdir lcov
	lcov --compat-libtool --directory . --capture --output-file lcov/lcov.info
	lcov -l lcov/lcov.info | grep -v "`cd $(top_srcdir) && pwd`" | cut -d: -f1 > lcov/remove
	lcov -l lcov/lcov.info | grep "tests/check/" | cut -d: -f1 >> lcov/remove
	lcov -r lcov/lcov.info `cat lcov/remove` > lcov/lcov.cleaned.info
	rm lcov/remove
	mv lcov/lcov.cleaned.info lcov/lcov.info
	genhtml -t "$(PACKAGE_STRING)" -o lcov --num-spaces 2 lcov/lcov.info

lcov-upload: lcov
	rsync -rvz -e ssh --delete lcov/* gstreamer.freedesktop.org:/srv/gstreamer.freedesktop.org/www/data/coverage/lcov/$(PACKAGE)

else
lcov-run:
	echo "Need to reconfigure with --enable-gcov"

lcov-report:
	echo "Need to reconfigure with --enable-gcov"
endif