From 6ecb05dd2f346dfd406293349affe5ba708660aa Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Tue, 16 Aug 2016 18:32:56 +1200 Subject: [PATCH 1/4] Enable branch coverage in coverage reports Closes #892 --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 5cbf6fffb..b5e04b168 100644 --- a/configure.ac +++ b/configure.ac @@ -356,7 +356,8 @@ if test x$use_lcov = xyes; then if test x$use_comparison_tool = x; then AC_MSG_ERROR("lcov testing requested but comparison tool was not specified") fi - LCOV="$LCOV --gcov-tool=$GCOV" + LCOV="$LCOV --gcov-tool=$GCOV --rc lcov_branch_coverage=1" + GENHTML="$GENHTML --branch-coverage" AX_CHECK_COMPILE_FLAG([--coverage],[CXXFLAGS="$CXXFLAGS --coverage"], [AC_MSG_ERROR("lcov testing requested but --coverage flag does not work")]) fi From 873625bc8515770e2f67a43fea4edffb68b074db Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Tue, 16 Aug 2016 18:38:42 +1200 Subject: [PATCH 2/4] Add gtest coverage intermediates to list of files deleted by make --- Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 5abb33737..550a2a0ca 100644 --- a/Makefile.am +++ b/Makefile.am @@ -43,7 +43,8 @@ OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) $ COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \ leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \ baseline_filtered.info block_test_filtered.info \ - leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info + leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info \ + zcash-gtest.info zcash-gtest_filtered.info zcash-gtest_coverage.info dist-hook: -$(MAKE) -C $(top_distdir)/src/leveldb clean From 71442d31cf0c0e891099144e273ac0b7037e3c05 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Tue, 16 Aug 2016 20:30:24 +1200 Subject: [PATCH 3/4] Add gtest coverage to folders deleted by "make clean" --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 550a2a0ca..00837aabf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -233,4 +233,4 @@ CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) .INTERMEDIATE: $(COVERAGE_INFO) clean-local: - rm -rf test_bitcoin.coverage/ total.coverage/ $(OSX_APP) + rm -rf test_bitcoin.coverage/ zcash-gtest.coverage/ total.coverage/ $(OSX_APP) From c2059f9e0933b9f2ac07bb4df26a7eb41b9db9b1 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Tue, 16 Aug 2016 22:05:35 +1200 Subject: [PATCH 4/4] Remove non-libsnark dependencies and test harness code from coverage reports Closes #1203 --- Makefile.am | 45 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/Makefile.am b/Makefile.am index 00837aabf..266c75b43 100644 --- a/Makefile.am +++ b/Makefile.am @@ -152,13 +152,27 @@ baseline.info: $(LCOV) -c -i -d $(abs_builddir)/src -o $@ baseline_filtered.info: baseline.info - $(LCOV) -r $< "/usr/include/*" -o $@ + $(LCOV) -r $< "/usr/include/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \ + "$(abs_builddir)/src/gtest/*" \ + "$(abs_builddir)/src/test/*" \ + -o $@ leveldb_baseline.info: baseline_filtered.info $(LCOV) -c -i -d $(abs_builddir)/src/leveldb -b $(abs_builddir)/src/leveldb -o $@ leveldb_baseline_filtered.info: leveldb_baseline.info - $(LCOV) -r $< "/usr/include/*" -o $@ + $(LCOV) -r $< "/usr/include/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \ + "$(abs_builddir)/src/gtest/*" \ + "$(abs_builddir)/src/test/*" \ + -o $@ baseline_filtered_combined.info: leveldb_baseline_filtered.info baseline_filtered.info $(LCOV) -a leveldb_baseline_filtered.info -a baseline_filtered.info -o $@ @@ -170,7 +184,14 @@ test_bitcoin.info: baseline_filtered_combined.info $(LCOV) -z -d $(abs_builddir)/src/leveldb test_bitcoin_filtered.info: test_bitcoin.info - $(LCOV) -r $< "/usr/include/*" -o $@ + $(LCOV) -r $< "/usr/include/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \ + "$(abs_builddir)/src/gtest/*" \ + "$(abs_builddir)/src/test/*" \ + -o $@ zcash-gtest.info: baseline_filtered_combined.info $(MAKE) -C src/ zcash-gtest_check @@ -179,7 +200,14 @@ zcash-gtest.info: baseline_filtered_combined.info $(LCOV) -z -d $(abs_builddir)/src/leveldb zcash-gtest_filtered.info: zcash-gtest.info - $(LCOV) -r $< "/usr/include/*" -o $@ + $(LCOV) -r $< "/usr/include/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \ + "$(abs_builddir)/src/gtest/*" \ + "$(abs_builddir)/src/test/*" \ + -o $@ block_test.info: test_bitcoin_filtered.info $(MKDIR_P) qa/tmp @@ -189,7 +217,14 @@ block_test.info: test_bitcoin_filtered.info $(LCOV) -z -d $(abs_builddir)/src/leveldb block_test_filtered.info: block_test.info - $(LCOV) -r $< "/usr/include/*" -o $@ + $(LCOV) -r $< "/usr/include/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \ + "$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \ + "$(abs_builddir)/src/gtest/*" \ + "$(abs_builddir)/src/test/*" \ + -o $@ test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -o $@