aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2017-06-08 18:15:55 -0700
committerAndrew Chow <achow101-github@achow101.com>2017-06-12 15:53:30 -0700
commitd5711f4a2d59adc45755b13e3776b9d36e1c55f5 (patch)
tree9a5443f1da4c585b8122942c08d26058f53590c0
parent405b86a92aee4f2ddb6710bfe07ff714f2afcfa2 (diff)
downloadbitcoin-d5711f4a2d59adc45755b13e3776b9d36e1c55f5.tar.xz
Filter subtrees and and benchmarks from coverage report
Remove leveldb baseline coverage gathering. Added filter rules to remove all of the subtress (leveldb, secp256k1, ctaes, univalue) and benchmarking from the coverage report. These items are unnecessary as we do not test for any of the subtrees and benchmark coverage is unneeded.
-rw-r--r--Makefile.am35
-rwxr-xr-xcontrib/filter-lcov.py7
2 files changed, 16 insertions, 26 deletions
diff --git a/Makefile.am b/Makefile.am
index 88879b9e42..8216b7d608 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -59,10 +59,10 @@ OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \
$(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \
$(top_srcdir)/contrib/macdeploy/detached-sig-create.sh
-COVERAGE_INFO = baseline_filtered_combined.info baseline.info \
- leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \
+COVERAGE_INFO = baseline.info \
+ test_bitcoin_filtered.info total_coverage.info \
baseline_filtered.info functional_test.info functional_test_filtered.info \
- leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info
+ test_bitcoin_coverage.info test_bitcoin.info
dist-hook:
-$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
@@ -166,49 +166,38 @@ $(BITCOIN_CLI_BIN): FORCE
$(MAKE) -C src $(@F)
if USE_LCOV
+LCOV_FILTER_PATTERN=-p "/usr/include/" -p "src/leveldb/" -p "src/bench/" -p "src/univalue" -p "src/crypto/ctaes" -p "src/secp256k1"
baseline.info:
$(LCOV) -c -i -d $(abs_builddir)/src -o $@
baseline_filtered.info: baseline.info
- $(abs_builddir)/contrib/filter-lcov.py "/usr/include/" $< $@
+ $(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
$(LCOV) -a $@ $(LCOV_OPTS) -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
- $(abs_builddir)/contrib/filter-lcov.py "/usr/include/" $< $@
- $(LCOV) -a $@ $(LCOV_OPTS) -o $@
-
-baseline_filtered_combined.info: leveldb_baseline_filtered.info baseline_filtered.info
- $(LCOV) -a $(LCOV_OPTS) leveldb_baseline_filtered.info -a baseline_filtered.info -o $@
-
-test_bitcoin.info: baseline_filtered_combined.info
+test_bitcoin.info: baseline_filtered.info
$(MAKE) -C src/ check
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src -t test_bitcoin -o $@
$(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src
- $(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src/leveldb
test_bitcoin_filtered.info: test_bitcoin.info
- $(abs_builddir)/contrib/filter-lcov.py "/usr/include/" $< $@
+ $(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
functional_test.info: test_bitcoin_filtered.info
-@TIMEOUT=15 test/functional/test_runner.py $(EXTENDED_FUNCTIONAL_TESTS)
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src --t functional-tests -o $@
$(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src
- $(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src/leveldb
functional_test_filtered.info: functional_test.info
- $(abs_builddir)/contrib/filter-lcov.py "/usr/include/" $< $@
+ $(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
-test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info
- $(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -o $@
+test_bitcoin_coverage.info: baseline_filtered.info test_bitcoin_filtered.info
+ $(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_bitcoin_filtered.info -o $@
-total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info functional_test_filtered.info
- $(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -a functional_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
+total_coverage.info: test_bitcoin_filtered.info functional_test_filtered.info
+ $(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_bitcoin_filtered.info -a functional_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
diff --git a/contrib/filter-lcov.py b/contrib/filter-lcov.py
index ce2966c43d..299377d691 100755
--- a/contrib/filter-lcov.py
+++ b/contrib/filter-lcov.py
@@ -3,7 +3,7 @@
import argparse
parser = argparse.ArgumentParser(description='Remove the coverage data from a tracefile for all files matching the pattern.')
-parser.add_argument('pattern', help='the pattern of files to remove')
+parser.add_argument('--pattern', '-p', action='append', help='the pattern of files to remove', required=True)
parser.add_argument('tracefile', help='the tracefile to remove the coverage data from')
parser.add_argument('outfile', help='filename for the output to be written to')
@@ -16,8 +16,9 @@ in_remove = False
with open(tracefile, 'r') as f:
with open(outfile, 'w') as wf:
for line in f:
- if line.startswith("SF:") and pattern in line:
- in_remove = True
+ for p in pattern:
+ if line.startswith("SF:") and p in line:
+ in_remove = True
if not in_remove:
wf.write(line)
if line == 'end_of_record\n':