From a4f087cc9b7a8c6c09d17f8fbb497d9ef6f4667a Mon Sep 17 00:00:00 2001 From: Christopher Kormanyos Date: Sun, 29 May 2022 14:05:05 +0200 Subject: [PATCH] Improve coverage make system --- .gcov/make/make_gcov_03_flags.gmk | 27 +++++++++++++++++++--- .github/workflows/wide_decimal_codecov.yml | 8 +++---- test/test.cpp | 5 ++-- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/.gcov/make/make_gcov_03_flags.gmk b/.gcov/make/make_gcov_03_flags.gmk index 10ee7e0d..b337fc01 100644 --- a/.gcov/make/make_gcov_03_flags.gmk +++ b/.gcov/make/make_gcov_03_flags.gmk @@ -6,8 +6,9 @@ # ------------------------------------------------------------------------------ BOOST_ROOT_FOR_GCOV = /mnt/c/boost/boost_1_78_0 -CC = g++-10 +CC = g++ STD = c++11 +ALL_COV = 0 ifneq ($(MY_BOOST_ROOT),) BOOST_ROOT_FOR_GCOV := $(MY_BOOST_ROOT) @@ -21,6 +22,14 @@ ifneq ($(MY_STD),) STD := $(MY_STD) endif +ifneq ($(MY_STD),) +STD := $(MY_STD) +endif + +ifneq ($(MY_ALL_COV),) +ALL_COV := $(MY_ALL_COV) +endif + CXXFLAGS = -march=native \ -mtune=native \ -O2 \ @@ -43,10 +52,22 @@ C_INCLUDES = $(PATH_SRC) \ C_DEFINES :=$(addprefix -D,$(C_DEFINES)) C_INCLUDES :=$(addprefix -I,$(C_INCLUDES)) -GCOV_FLAGS = -abcfu --object-directory obj +GCOV_FLAGS = --object-directory obj \ + --all-blocks \ + --function-summaries \ + --demangled-names + +ifneq ($(ALL_COV),0) +GCOV_FLAGS := $(GCOV_FLAGS) \ + --branch-counts \ + --branch-probabilities +endif -#LCOV_BRANCH = --rc lcov_branch_coverage=1 LCOV_BRANCH = +ifneq ($(ALL_COV),0) +LCOV_BRANCH := --rc lcov_branch_coverage=1 +endif + LCOV_REMOVES = '/usr/*' \ '*boost/*' diff --git a/.github/workflows/wide_decimal_codecov.yml b/.github/workflows/wide_decimal_codecov.yml index 12d94946..5c16f86c 100644 --- a/.github/workflows/wide_decimal_codecov.yml +++ b/.github/workflows/wide_decimal_codecov.yml @@ -47,13 +47,13 @@ jobs: grep BOOST_VERSION ../boost-root/boost/version.hpp cd .gcov/make echo "build and run gcov/lcov/genhtml" - echo "make prepare -f make_gcov_01_generic.gmk MY_BOOST_ROOT=../../../boost-root MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }}" + echo "make prepare -f make_gcov_01_generic.gmk MY_ALL_COV=0 MY_BOOST_ROOT=../../../boost-root MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }}" echo - make prepare -f make_gcov_01_generic.gmk MY_BOOST_ROOT=../../../boost-root MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }} + make prepare -f make_gcov_01_generic.gmk MY_ALL_COV=0 MY_BOOST_ROOT=../../../boost-root MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }} echo - echo "make gcov -f make_gcov_01_generic.gmk --jobs=8 MY_BOOST_ROOT=../../../boost-root MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }}" + echo "make gcov -f make_gcov_01_generic.gmk --jobs=8 MY_ALL_COV=0 MY_BOOST_ROOT=../../../boost-root MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }}" echo - make gcov -f make_gcov_01_generic.gmk --jobs=8 MY_BOOST_ROOT=../../../boost-root MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }} + make gcov -f make_gcov_01_generic.gmk --jobs=8 MY_ALL_COV=0 MY_BOOST_ROOT=../../../boost-root MY_CC=${{ matrix.compiler }} MY_STD=${{ matrix.standard }} echo echo "return to wide-decimal root directory" cd ../.. diff --git a/test/test.cpp b/test/test.cpp index 975f9e48..727bdd5f 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -22,8 +22,9 @@ // make tidy -f make_tidy_01_generic.gmk --jobs=8 MY_BOOST_ROOT=/mnt/c/boost/boost_1_79_0 // cd .gcov/make -// make prepare -f make_gcov_01_generic.gmk MY_BOOST_ROOT=/mnt/c/boost/boost_1_79_0 -// make gcov -f make_gcov_01_generic.gmk --jobs=8 MY_BOOST_ROOT=/mnt/c/boost/boost_1_79_0 +// make clean -f make_gcov_01_generic.gmk MY_CC=g++ MY_ALL_COV=0 MY_BOOST_ROOT=/mnt/c/boost/boost_1_79_0 +// make prepare -f make_gcov_01_generic.gmk MY_CC=g++ MY_ALL_COV=0 MY_BOOST_ROOT=/mnt/c/boost/boost_1_79_0 +// make gcov -f make_gcov_01_generic.gmk --jobs=8 MY_CC=g++ MY_ALL_COV=0 MY_BOOST_ROOT=/mnt/c/boost/boost_1_79_0 // cd /mnt/c/Users/User/Documents/Ks/PC_Software/NumericalPrograms/ExtendedNumberTypes/wide_decimal // PATH=/home/chris/local/coverity/cov-analysis-linux64-2021.12.1/bin:$PATH