summaryrefslogtreecommitdiff
path: root/build/Makefile.gcov
diff options
context:
space:
mode:
Diffstat (limited to 'build/Makefile.gcov')
-rw-r--r--build/Makefile.gcov62
1 files changed, 44 insertions, 18 deletions
diff --git a/build/Makefile.gcov b/build/Makefile.gcov
index 944739aff3..a206523061 100644
--- a/build/Makefile.gcov
+++ b/build/Makefile.gcov
@@ -1,34 +1,43 @@
#
-# LCOV
+# GCOV
#
LTP = lcov
LTP_GENHTML = genhtml
-lcov: lcov-html
+LCOV_EXCLUDES = \
+ '$(top_srcdir)/ext/bcmath/libbcmath/*' \
+ '$(top_srcdir)/ext/date/lib/*' \
+ '$(top_srcdir)/ext/fileinfo/libmagic/*' \
+ '$(top_srcdir)/ext/gd/libgd/*' \
+ '$(top_srcdir)/ext/hash/sha3/*' \
+ '$(top_srcdir)/ext/mbstring/libmbfl/*' \
+ '$(top_srcdir)/ext/opcache/jit/libudis86/*' \
+ '$(top_srcdir)/ext/pcre/pcre2lib/*' \
+ '$(top_srcdir)/ext/xmlrpc/libxmlrpc/*'
+
+GCOVR_EXCLUDES = \
+ 'ext/bcmath/libbcmath/.*' \
+ 'ext/date/lib/.*' \
+ 'ext/fileinfo/libmagic/.*' \
+ 'ext/gd/libgd/.*' \
+ 'ext/hash/sha3/.*' \
+ 'ext/mbstring/libmbfl/.*' \
+ 'ext/opcache/jit/libudis86/.*' \
+ 'ext/pcre/pcre2lib/.*' \
+ 'ext/xmlrpc/libxmlrpc/.*'
-lcov-test: lcov-clean-data test
+lcov: lcov-html
-php_lcov.info: lcov-test
+php_lcov.info:
@echo "Generating lcov data for $@"
- @$(LTP) --capture --no-external --directory . --output-file $@
+ $(LTP) --capture --no-external --directory . --output-file $@
@echo "Stripping bundled libraries from $@"
- @$(LTP) --remove $@ \
- '*/<stdout>' \
- '$(top_srcdir)/ext/bcmath/libbcmath/*' \
- '$(top_srcdir)/ext/date/lib/*' \
- '$(top_srcdir)/ext/fileinfo/libmagic/*' \
- '$(top_srcdir)/ext/gd/libgd/*' \
- '$(top_srcdir)/ext/hash/sha3/*' \
- '$(top_srcdir)/ext/mbstring/libmbfl/*' \
- '$(top_srcdir)/ext/opcache/jit/libudis86/*' \
- '$(top_srcdir)/ext/pcre/pcre2lib/*' \
- '$(top_srcdir)/ext/xmlrpc/libxmlrpc/*' \
- --output-file $@
+ $(LTP) --output-file $@ --remove $@ '*/<stdout>' $(LCOV_EXCLUDES)
lcov-html: php_lcov.info
@echo "Generating lcov HTML"
- @$(LTP_GENHTML) --legend --output-directory lcov_html/ --title "PHP Code Coverage" php_lcov.info
+ $(LTP_GENHTML) --legend --output-directory lcov_html/ --title "PHP Code Coverage" php_lcov.info
lcov-clean:
rm -f php_lcov.info
@@ -36,3 +45,20 @@ lcov-clean:
lcov-clean-data:
@find . -name \*.gcda -o -name \*.da -o -name \*.bbg? | xargs rm -f
+
+gcovr-html:
+ @echo "Generating gcovr HTML"
+ @rm -rf gcovr_html/
+ @mkdir gcovr_html
+ gcovr -sr . -o gcovr_html/index.html --html --html-details \
+ --exclude-directories 'ext/date/lib$$' \
+ $(foreach lib, $(GCOVR_EXCLUDES), -e $(lib))
+
+gcovr-xml:
+ @echo "Generating gcovr XML"
+ @rm -f gcovr.xml
+ gcovr -sr . -o gcovr.xml --xml \
+ --exclude-directories 'ext/date/lib$$' \
+ $(foreach lib, $(GCOVR_EXCLUDES), -e $(lib))
+
+.PHONY: gcovr-html lcov-html php_lcov.info