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

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

index 646d184..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,13 +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 ac6a0ab..836fde4 100755 (executable)
@@ -46,6 +46,7 @@ my @system_packages = (
     "libturbojpeg",
     "libfribidi-dev",
     "doxygen",
+    "lcov",
 );
 
 # Make best guess as to where this program was run from (note, it is
index 543abca..13dcc29 100644 (file)
@@ -37,6 +37,9 @@ 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)/*
@@ -45,12 +48,12 @@ cov_data:
                do mv $$i `echo $$i | sed s/libdali_core_la-//` ; echo $$i ; done
        @for i in `find $(COVERAGE_DIR) -name "libdali_la-*.gcda" -o -name "libdali_la-*.gcno"` ;\
                do mv $$i `echo $$i | sed s/libdali_la-//` ; 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`