[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / automated-tests / coverage.sh
1 #!/bin/bash
2
3 opt_genhtml=true
4 if [ $1 == -n ] ; then
5   opt_genhtml=false
6 fi
7
8 BUILD_DIR_NAME=tizen
9
10 BUILDSYSTEM=make
11
12 if [ -e ../build/tizen/build.ninja ] ; then
13     BUILDSYSTEM=ninja
14 fi
15
16 (  cd ../build/$BUILD_DIR_NAME ; $BUILDSYSTEM cov_data )
17
18
19 # From lcov version 1.10 onwards, branch coverage is off by default and earlier versions do not support the rc option
20 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`
21
22 for i in `find . -name "*.dir"` ; do
23     (
24         cd $i
25         echo `pwd`
26         covs=( `ls *.gcda 2>/dev/null` )
27         if [[ $? -eq 0 ]]
28         then
29             lcov $LCOV_OPTS --directory . -c -o dali.info
30             lcov $LCOV_OPTS --remove dali.info "/usr/include/*" "/usr/local/include/*" "*/automated-tests/*" "*/dali-env/*" "*/third-party/*" -o dali.info
31             if [ ! -s dali.info ]
32             then
33               rm -f dali.info
34             fi
35         fi
36     )
37 done
38
39 (
40     if [ $opt_genhtml == true ] ; then
41         cd .. ;
42         genhtml -p `pwd` $LCOV_OPTS -o build/$BUILD_DIR_NAME/doc/coverage `find . -name dali.info`
43         echo "Coverage output: ../build/$BUILD_DIR_NAME/doc/coverage/index.html"
44     fi
45 )