From 7bd7e1cccab979d9187b77d0c868af208d5b678c Mon Sep 17 00:00:00 2001 From: winlin Date: Wed, 11 Dec 2019 12:06:28 +0800 Subject: [PATCH] Refine the circleci codecov script. --- trunk/auto/coverage.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/trunk/auto/coverage.sh b/trunk/auto/coverage.sh index 52c0fce74..0196fe9d5 100644 --- a/trunk/auto/coverage.sh +++ b/trunk/auto/coverage.sh @@ -8,21 +8,27 @@ # Workdir is objs/cover. workdir=`pwd`/objs/cover +# Tool git is required to map the right path. +git --version >/dev/null 2>&1 +ret=$?; if [[ $ret -ne 0 ]]; then echo "Tool git is required, ret=$ret"; exit $ret; fi + # Create trunk under workdir. mkdir -p $workdir && cd $workdir ret=$?; if [[ $ret -ne 0 ]]; then echo "Enter workdir failed, ret=$ret"; exit $ret; fi # Collect all *.gcno and *.gcda to objs/cover. -(rm -rf src && cp -R ../../src . && cp -R ../src .) +cd $workdir && (rm -rf src && cp -R ../../src . && cp -R ../src .) ret=$?; if [[ $ret -ne 0 ]]; then echo "Collect *.gcno and *.gcda failed, ret=$ret"; exit $ret; fi # Generate *.gcov for coverage. +cd $workdir && for file in `find src -name "*.cpp"|grep -v utest`; do gcov $file -o `dirname $file` ret=$?; if [[ $ret -ne 0 ]]; then echo "Collect $file failed, ret=$ret"; exit $ret; fi done # Cook the gcov files. +cd $workdir && find . -name "*.gcov"|grep -v srs|xargs rm -f ret=$?; if [[ $ret -ne 0 ]]; then echo "Cook gcov files failed, ret=$ret"; exit $ret; fi