From e885b2ec5c2f7731b439c299628a6a634ff7e46e Mon Sep 17 00:00:00 2001 From: wcohen Date: Fri, 6 Jan 2006 23:08:30 +0000 Subject: Better support for code coverage with gcov and lcov. --- ChangeLog | 7 +++++++ Makefile.am | 13 +++++++++++-- Makefile.in | 12 ++++++++++-- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index d86a54ba..0c857bba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-01-06 Will Cohen + + * Makefile.am (gcov,lcov): Don't remove .gcno .gcda files. + * Makefile.am (gcov): Fix to report data when tests fail. + * Makefile.am (lcov): New rule to generate html coverage data. + * Makefile.in: Regenerated. + 2006-01-05 Josh Stone PR 2056 diff --git a/Makefile.am b/Makefile.am index d8faa020..8344b545 100644 --- a/Makefile.am +++ b/Makefile.am @@ -101,13 +101,20 @@ XFAIL_TESTS = $(wildcard $(p)ko/*.stp) \ TESTS_ENVIRONMENT = $(srcdir)/runtest.sh +TEST_COV_DIR = coverage + gcov: - @$(MAKE) clean CXXFLAGS="-g -fprofile-arcs -ftest-coverage" all check + @-$(MAKE) clean CXXFLAGS="-g -fprofile-arcs -ftest-coverage" all check @gcov *.gcno >/dev/null 2>&1 - @rm -f *.gcno *.gcda @rm -f `ls -1 *.gcov | fgrep -v .cxx.gcov` ls -l *.cxx.gcov +lcov: + @lcov --directory . -z + @-$(MAKE) clean CXXFLAGS="-g -fprofile-arcs -ftest-coverage" all check + @lcov --directory . -c -o stap.info + @genhtml -o ./$(TEST_COV_DIR) stap.info + rpm: dist rpmbuild -ta ${PACKAGE_TARNAME}-${PACKAGE_VERSION}.tar.gz @@ -115,6 +122,8 @@ clean-local: rm -f *.gcov *.gcno *.gcda ${PACKAGE_TARNAME}-*.tar.gz rm -rf testresults rm -rf ${PACKAGE_TARNAME}-${PACKAGE_VERSION} + rm -rf $(TEST_COV_DIR) + rm -rf stap.info uninstall-local: rm -rf $(DESTDIR)$(pkgdatadir) diff --git a/Makefile.in b/Makefile.in index dfd13c59..4e155df4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -253,6 +253,7 @@ XFAIL_TESTS = $(wildcard $(p)ko/*.stp) \ $(wildcard $(b)ko/*.stp) TESTS_ENVIRONMENT = $(srcdir)/runtest.sh +TEST_COV_DIR = coverage all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-am @@ -1105,12 +1106,17 @@ install-data-local: (cd $(srcdir)/tapset ; find . -name '*.stp' | cpio -pdmv $(DESTDIR)$(pkgdatadir)/tapset) gcov: - @$(MAKE) clean CXXFLAGS="-g -fprofile-arcs -ftest-coverage" all check + @-$(MAKE) clean CXXFLAGS="-g -fprofile-arcs -ftest-coverage" all check @gcov *.gcno >/dev/null 2>&1 - @rm -f *.gcno *.gcda @rm -f `ls -1 *.gcov | fgrep -v .cxx.gcov` ls -l *.cxx.gcov +lcov: + @lcov --directory . -z + @-$(MAKE) clean CXXFLAGS="-g -fprofile-arcs -ftest-coverage" all check + @lcov --directory . -c -o stap.info + @genhtml -o ./$(TEST_COV_DIR) stap.info + rpm: dist rpmbuild -ta ${PACKAGE_TARNAME}-${PACKAGE_VERSION}.tar.gz @@ -1118,6 +1124,8 @@ clean-local: rm -f *.gcov *.gcno *.gcda ${PACKAGE_TARNAME}-*.tar.gz rm -rf testresults rm -rf ${PACKAGE_TARNAME}-${PACKAGE_VERSION} + rm -rf $(TEST_COV_DIR) + rm -rf stap.info uninstall-local: rm -rf $(DESTDIR)$(pkgdatadir) -- cgit