Skip to content

Commit

Permalink
Merge 038a04e into merged_master (Bitcoin PR #19688)
Browse files Browse the repository at this point in the history
  • Loading branch information
apoelstra committed Nov 27, 2020
2 parents 3d9206f + 038a04e commit c5777e4
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 7 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,9 @@ releases
/*.info
test_bitcoin.coverage/
total.coverage/
fuzz.coverage/
coverage_percent.txt
/cov_tool_wrapper.sh

#build tests
linux-coverage-build
Expand Down
10 changes: 7 additions & 3 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,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.info \
COVERAGE_INFO = $(COV_TOOL_WRAPPER) baseline.info \
test_bitcoin_filtered.info total_coverage.info \
baseline_filtered.info functional_test.info functional_test_filtered.info \
test_bitcoin_coverage.info test_bitcoin.info fuzz.info fuzz_coverage.info
test_bitcoin_coverage.info test_bitcoin.info fuzz.info fuzz_filtered.info fuzz_coverage.info

dist-hook:
-$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
Expand Down Expand Up @@ -195,7 +195,11 @@ LCOV_FILTER_PATTERN = \
-p "src/secp256k1" \
-p "depends"

baseline.info:
$(COV_TOOL_WRAPPER):
@echo 'exec $(COV_TOOL) "$$@"' > $(COV_TOOL_WRAPPER)
@chmod +x $(COV_TOOL_WRAPPER)

baseline.info: $(COV_TOOL_WRAPPER)
$(LCOV) -c -i -d $(abs_builddir)/src -o $@

baseline_filtered.info: baseline.info
Expand Down
30 changes: 26 additions & 4 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ AC_PATH_TOOL(AR, ar)
AC_PATH_TOOL(RANLIB, ranlib)
AC_PATH_TOOL(STRIP, strip)
AC_PATH_TOOL(GCOV, gcov)
AC_PATH_TOOL(LLVM_COV, llvm-cov)
AC_PATH_PROG(LCOV, lcov)
dnl Python 3.5 is specified in .python-version and should be used if available, see doc/dependencies.md
AC_PATH_PROGS([PYTHON], [python3.5 python3.6 python3.7 python3.8 python3 python])
Expand Down Expand Up @@ -705,16 +706,37 @@ if test x$use_lcov = xyes; then
if test x$LCOV = x; then
AC_MSG_ERROR("lcov testing requested but lcov not found")
fi
if test x$GCOV = x; then
AC_MSG_ERROR("lcov testing requested but gcov not found")
fi
if test x$PYTHON = x; then
AC_MSG_ERROR("lcov testing requested but python not found")
fi
if test x$GENHTML = x; then
AC_MSG_ERROR("lcov testing requested but genhtml not found")
fi
LCOV="$LCOV --gcov-tool=$GCOV"

AC_MSG_CHECKING([whether compiler is Clang])
AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
#if defined(__clang__) && defined(__llvm__)
// Compiler is Clang
#else
# error Compiler is not Clang
#endif
]])],[
AC_MSG_RESULT([yes])
if test x$LLVM_COV = x; then
AC_MSG_ERROR([lcov testing requested but llvm-cov not found])
fi
COV_TOOL="$LLVM_COV gcov"
],[
AC_MSG_RESULT([no])
if test x$GCOV = x; then
AC_MSG_ERROR([lcov testing requested but gcov not found])
fi
COV_TOOL="$GCOV"
])
AC_SUBST(COV_TOOL)
AC_SUBST(COV_TOOL_WRAPPER, "cov_tool_wrapper.sh")
LCOV="$LCOV --gcov-tool $(pwd)/$COV_TOOL_WRAPPER"

AX_CHECK_LINK_FLAG([[--coverage]], [LDFLAGS="$LDFLAGS --coverage"],
[AC_MSG_ERROR("lcov testing requested but --coverage linker flag does not work")])
AX_CHECK_COMPILE_FLAG([--coverage],[CXXFLAGS="$CXXFLAGS --coverage"],
Expand Down

0 comments on commit c5777e4

Please sign in to comment.