mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
Merge #18107: build: Add cov_fuzz target
faf7d4fa86b700ec272806cd2bd8666a92405619 build: Add cov_fuzz target (MarcoFalke) fac71e364e4bbaeffc35e45aff8c8c2c6f2b5c67 build: link fuzz/test_runner.py for out-of-tree builds (MarcoFalke) faf2c5aca01643eb560287e08f9c0a7ca0ac9c88 build: Remove unused USE_COVERAGE (MarcoFalke) Pull request description: Only libFuzzer is supported right now, so clang is required. Thus, this needs a workaround such as https://github.com/bitcoin/bitcoin/issues/12602#issuecomment-562788247 Can be tested with: ``` mkdir build && cd build ../configure --enable-fuzz --with-sanitizers=fuzzer --enable-lcov --enable-lcov-branch-coverage CC=clang CXX=clang++ make $MAKEJOBS make cov_fuzz ACKs for top commit: practicalswift: ACK faf7d4fa86b700ec272806cd2bd8666a92405619 Tree-SHA512: 6828f8f81d95f6781713d0b09d7eba2ffdb50217e09ca839db61791a4ed70024859c7a0cb01d9eede79166d574dd57ece01f9d9fe2610d4a72a4ca4a4ce0b838
This commit is contained in:
parent
8ae94ada7c
commit
e479892050
22
Makefile.am
22
Makefile.am
@ -73,7 +73,7 @@ OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \
|
|||||||
COVERAGE_INFO = baseline.info \
|
COVERAGE_INFO = baseline.info \
|
||||||
test_dash_filtered.info total_coverage.info \
|
test_dash_filtered.info total_coverage.info \
|
||||||
baseline_filtered.info functional_test.info functional_test_filtered.info \
|
baseline_filtered.info functional_test.info functional_test_filtered.info \
|
||||||
test_dash_coverage.info test_dash.info
|
test_dash_coverage.info test_dash.info fuzz.info fuzz_coverage.info
|
||||||
|
|
||||||
dist-hook:
|
dist-hook:
|
||||||
-$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
|
-$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
|
||||||
@ -211,6 +211,15 @@ baseline_filtered.info: baseline.info
|
|||||||
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
||||||
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
||||||
|
|
||||||
|
fuzz.info: baseline_filtered.info
|
||||||
|
@TIMEOUT=15 test/fuzz/test_runner.py qa-assets/fuzz_seed_corpus -l DEBUG
|
||||||
|
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src --t fuzz-tests -o $@
|
||||||
|
$(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src
|
||||||
|
|
||||||
|
fuzz_filtered.info: fuzz.info
|
||||||
|
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
||||||
|
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
||||||
|
|
||||||
test_dash.info: baseline_filtered.info
|
test_dash.info: baseline_filtered.info
|
||||||
$(MAKE) -C src/ check
|
$(MAKE) -C src/ check
|
||||||
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src -t test_dash -o $@
|
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src -t test_dash -o $@
|
||||||
@ -229,12 +238,19 @@ functional_test_filtered.info: functional_test.info
|
|||||||
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
||||||
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
||||||
|
|
||||||
|
fuzz_coverage.info: fuzz_filtered.info
|
||||||
|
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a fuzz_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
|
||||||
|
|
||||||
test_dash_coverage.info: baseline_filtered.info test_dash_filtered.info
|
test_dash_coverage.info: baseline_filtered.info test_dash_filtered.info
|
||||||
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_dash_filtered.info -o $@
|
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_dash_filtered.info -o $@
|
||||||
|
|
||||||
total_coverage.info: test_dash_filtered.info functional_test_filtered.info
|
total_coverage.info: test_dash_filtered.info functional_test_filtered.info
|
||||||
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_dash_filtered.info -a functional_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
|
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_dash_filtered.info -a functional_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
|
||||||
|
|
||||||
|
fuzz.coverage/.dirstamp: fuzz_coverage.info
|
||||||
|
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
||||||
|
@touch $@
|
||||||
|
|
||||||
test_dash.coverage/.dirstamp: test_dash_coverage.info
|
test_dash.coverage/.dirstamp: test_dash_coverage.info
|
||||||
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
||||||
@touch $@
|
@touch $@
|
||||||
@ -243,6 +259,8 @@ total.coverage/.dirstamp: total_coverage.info
|
|||||||
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
||||||
@touch $@
|
@touch $@
|
||||||
|
|
||||||
|
cov_fuzz: fuzz.coverage/.dirstamp
|
||||||
|
|
||||||
cov: test_dash.coverage/.dirstamp total.coverage/.dirstamp
|
cov: test_dash.coverage/.dirstamp total.coverage/.dirstamp
|
||||||
|
|
||||||
endif
|
endif
|
||||||
@ -318,7 +336,7 @@ clean-docs:
|
|||||||
rm -rf doc/doxygen
|
rm -rf doc/doxygen
|
||||||
|
|
||||||
clean-local: clean-docs
|
clean-local: clean-docs
|
||||||
rm -rf coverage_percent.txt test_dash.coverage/ total.coverage/ test/tmp/ cache/ $(OSX_APP)
|
rm -rf coverage_percent.txt test_dash.coverage/ total.coverage/ fuzz.coverage/ test/tmp/ cache/ $(OSX_APP)
|
||||||
rm -rf test/functional/__pycache__ test/functional/test_framework/__pycache__ test/cache share/rpcauth/__pycache__
|
rm -rf test/functional/__pycache__ test/functional/test_framework/__pycache__ test/cache share/rpcauth/__pycache__
|
||||||
rm -rf osx_volname dist/ dpi36.background.tiff dpi72.background.tiff
|
rm -rf osx_volname dist/ dpi36.background.tiff dpi72.background.tiff
|
||||||
|
|
||||||
|
@ -829,7 +829,6 @@ if test x$use_lcov = xyes; then
|
|||||||
[AC_MSG_ERROR("lcov testing requested but --coverage linker flag does not work")])
|
[AC_MSG_ERROR("lcov testing requested but --coverage linker flag does not work")])
|
||||||
AX_CHECK_COMPILE_FLAG([--coverage],[CXXFLAGS="$CXXFLAGS --coverage"],
|
AX_CHECK_COMPILE_FLAG([--coverage],[CXXFLAGS="$CXXFLAGS --coverage"],
|
||||||
[AC_MSG_ERROR("lcov testing requested but --coverage flag does not work")])
|
[AC_MSG_ERROR("lcov testing requested but --coverage flag does not work")])
|
||||||
AC_DEFINE(USE_COVERAGE, 1, [Define this symbol if coverage is enabled])
|
|
||||||
CXXFLAGS="$CXXFLAGS -Og"
|
CXXFLAGS="$CXXFLAGS -Og"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -1828,6 +1827,7 @@ AC_CONFIG_LINKS([contrib/devtools/symbol-check.py:contrib/devtools/symbol-check.
|
|||||||
AC_CONFIG_LINKS([contrib/devtools/test-symbol-check.py:contrib/devtools/test-symbol-check.py])
|
AC_CONFIG_LINKS([contrib/devtools/test-symbol-check.py:contrib/devtools/test-symbol-check.py])
|
||||||
AC_CONFIG_LINKS([contrib/filter-lcov.py:contrib/filter-lcov.py])
|
AC_CONFIG_LINKS([contrib/filter-lcov.py:contrib/filter-lcov.py])
|
||||||
AC_CONFIG_LINKS([test/functional/test_runner.py:test/functional/test_runner.py])
|
AC_CONFIG_LINKS([test/functional/test_runner.py:test/functional/test_runner.py])
|
||||||
|
AC_CONFIG_LINKS([test/fuzz/test_runner.py:test/fuzz/test_runner.py])
|
||||||
AC_CONFIG_LINKS([test/util/bitcoin-util-test.py:test/util/bitcoin-util-test.py])
|
AC_CONFIG_LINKS([test/util/bitcoin-util-test.py:test/util/bitcoin-util-test.py])
|
||||||
AC_CONFIG_LINKS([test/util/rpcauth-test.py:test/util/rpcauth-test.py])
|
AC_CONFIG_LINKS([test/util/rpcauth-test.py:test/util/rpcauth-test.py])
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user