From 7d1c6a1092ea2730c44c9021ca0c276858565bbf Mon Sep 17 00:00:00 2001 From: Adeel Kazmi Date: Fri, 12 Sep 2014 19:01:40 +0100 Subject: [PATCH] (Build) Ensure branch coverage is collected for later versions of lcov Change-Id: I76d88b9a48540851ce075ca8cd3ce487297a57a8 --- 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 23183a8..1ff34c2 100644 --- a/build/tizen/Makefile.am +++ b/build/tizen/Makefile.am @@ -38,18 +38,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 dali-toolkit/.libs/*.gcda dali-toolkit/.libs/*.gcno $(COVERAGE_DIR) @for i in `find $(COVERAGE_DIR) -name "libdali_toolkit_la-*.gcda" -o -name "libdali_toolkit_la-*.gcno"` ;\ do mv $$i `echo $$i | sed s/libdali_toolkit_la-//` ; echo $$i ; done - @cd $(COVERAGE_DIR) ; lcov --base-directory . --directory . -c -o dali.info - @cd $(COVERAGE_DIR) ; lcov --remove dali.info "*boost*" "/usr/include/*" "*/dali-env/*" -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*" "/usr/include/*" "*/dali-env/*" -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