From 2334e8f3e2ec77eaf32345ceab4b946fc9523c86 Mon Sep 17 00:00:00 2001 From: Adeel Kazmi Date: Fri, 12 Sep 2014 18:16:21 +0100 Subject: [PATCH] (Build) Ensure branch coverage is collected for later versions of lcov Change-Id: I52200982606e14c2191470fd8bc3b60a776e9271 --- automated-tests/coverage.sh | 8 +++++--- build/tizen/Makefile.am | 9 ++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/automated-tests/coverage.sh b/automated-tests/coverage.sh index e6106ef..678dea7 100755 --- a/automated-tests/coverage.sh +++ b/automated-tests/coverage.sh @@ -2,6 +2,8 @@ ( cd ../build/tizen ; make cov_data ) +# From lcov version 1.10 onwards, branch coverage is off by default and earlier versions do not support the rc option +LCOV_OPTS=`if [ \`printf "\\\`lcov --version | cut -d' ' -f4\\\`\n1.10\n" | sort -V | head -n 1\` = 1.10 ] ; then echo "--rc lcov_branch_coverage=1" ; fi` for i in `find . -name "*.dir"` ; do ( @@ -10,15 +12,15 @@ for i in `find . -name "*.dir"` ; do covs=( `ls *.gcda 2>/dev/null` ) if [[ $? -eq 0 ]] then - lcov --directory . -c -o dali.info - lcov --remove dali.info "*boost*" "/usr/include/*" "*/automated-tests/*" -o dali.info + lcov $LCOV_OPTS --directory . -c -o dali.info + lcov $LCOV_OPTS --remove dali.info "*boost*" "/usr/include/*" "*/automated-tests/*" -o dali.info fi ) done ( cd .. ; - genhtml -o build/tizen/doc/coverage `find . -name dali.info` + genhtml $LCOV_OPTS -o build/tizen/doc/coverage `find . -name dali.info` ) echo "Coverage output: ../build/tizen/doc/coverage/index.html" diff --git a/build/tizen/Makefile.am b/build/tizen/Makefile.am index 55b1e15..b784654 100644 --- a/build/tizen/Makefile.am +++ b/build/tizen/Makefile.am @@ -46,18 +46,21 @@ CLEANFILES = \ COVERAGE_DIR=.cov COVERAGE_OUTPUT_DIR=doc/coverage +# From lcov version 1.10 onwards, branch coverage is off by default and earlier versions do not support the rc option +LCOV_OPTS=`if [ \`printf "\\\`lcov --version | cut -d' ' -f4\\\`\n1.10\n" | sort -V | head -n 1\` = 1.10 ] ; then echo "--rc lcov_branch_coverage=1" ; fi` + cov_data: @test -z $(COVERAGE_DIR) || mkdir -p $(COVERAGE_DIR) @rm -f $(COVERAGE_DIR)/* @-cp adaptor/.libs/*.gcda adaptor/.libs/*.gcno $(COVERAGE_DIR) @for i in `find $(COVERAGE_DIR) -name "libdali_adaptor_la-*.gcda" -o -name "libdali_adaptor_la-*.gcno"` ;\ do mv $$i `echo $$i | sed s/libdali_adaptor_la-//` ; echo $$i ; done - @cd $(COVERAGE_DIR) ; lcov --base-directory . --directory . -c -o dali.info - @cd $(COVERAGE_DIR) ; lcov --remove dali.info "*boost*" "dali-env/*" "/usr/include/*" -o dali.info + @cd $(COVERAGE_DIR) ; lcov $(LCOV_OPTS) --base-directory . --directory . -c -o dali.info + @cd $(COVERAGE_DIR) ; lcov $(LCOV_OPTS) --remove dali.info "*boost*" "dali-env/*" "/usr/include/*" -o dali.info @test -z $(COVERAGE_OUTPUT_DIR) || mkdir -p $(COVERAGE_OUTPUT_DIR) coverage: cov_data - @genhtml -o $(COVERAGE_OUTPUT_DIR) $(COVERAGE_DIR)/dali.info + @genhtml $(LCOV_OPTS) -o $(COVERAGE_OUTPUT_DIR) $(COVERAGE_DIR)/dali.info reset_coverage: @lcov -z --directory `pwd` -- 2.7.4