(Build) Ensure branch coverage is collected for later versions of lcov 68/27468/1
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Fri, 12 Sep 2014 18:01:40 +0000 (19:01 +0100)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Fri, 12 Sep 2014 18:01:46 +0000 (19:01 +0100)
Change-Id: I76d88b9a48540851ce075ca8cd3ce487297a57a8

automated-tests/coverage.sh
build/tizen/Makefile.am

index e6106ef..678dea7 100755 (executable)
@@ -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"
index 23183a8..1ff34c2 100644 (file)
@@ -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`