diff options
author | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2014-12-08 14:58:03 +0000 |
---|---|---|
committer | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2014-12-08 14:58:03 +0000 |
commit | 807527bc3b79a30c0c86ffc27143ee1d45a84a77 (patch) | |
tree | e4189eacbda7b50044a4c07833b8e46c472622eb /scripts/check_code_coverage.sh | |
parent | 74139b5adc369b0c7f0163e5ec04eb8685ff5f07 (diff) |
Add of tests tools
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/cpplint_test@344 636b058d-ea47-450e-bf9e-a15bfbe3eedb
Diffstat (limited to 'scripts/check_code_coverage.sh')
-rwxr-xr-x | scripts/check_code_coverage.sh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/scripts/check_code_coverage.sh b/scripts/check_code_coverage.sh new file mode 100755 index 00000000..b518f21a --- /dev/null +++ b/scripts/check_code_coverage.sh @@ -0,0 +1,37 @@ +#!/bin/bash +#usage bash check_google_style.sh + +# UNITARY TEST DIRECTORY CHECK +ROOT_DIR=.. +UT_DIR_TO_CHECK="$1" +COVERAGE_FILE=$UT_DIR_TO_CHECK/coverage.info +LOG_FILE=$UT_DIR_TO_CHECK/coverage.log +MIN_PERCENT=95 + +rm -f $COVERAGE_FILE $LOG_FILE + +lcov --capture --directory $UT_DIR_TO_CHECK --no-external --output-file $COVERAGE_FILE 2>&1 | tee -a $LOG_FILE +lcov --summary $COVERAGE_FILE 2>&1 | tee -a $LOG_FILE +# CLEAN AFTER USE +#lcov --directory $UT_DIR_TO_CHECK --zerocounters 2>&1 | tee -a $LOG_FILE + +LINE_PERCENTAGE=`grep "lines......:" $LOG_FILE` +PERC_PER_LINE=${LINE_PERCENTAGE:14:3} + +if [ "$PERC_PER_LINE" -lt "$MIN_PERCENT" ] +then + echo "## Lines not enough covered ($PERC_PER_LINE) in $UT_DIR_TO_CHECK" 2>&1 | tee -a $LOG_FILE + exit 1 +else + FONC_PERCENTAGE=`grep "functions..:" $LOG_FILE` + PERC_PER_FUNC=${FONC_PERCENTAGE:14:3} + + if [ "$PERC_PER_FUNC" -lt "$MIN_PERCENT" ] + then + echo "## Functions not enough covered ($PERC_PER_FUNC) in $UT_DIR_TO_CHECK" 2>&1 | tee -a $LOG_FILE + exit 1 + fi +fi + +echo "Acceptable coverage values (lines:$PERC_PER_LINE% - functions:$PERC_PER_FUNC%) in $UT_DIR_TO_CHECK" 2>&1 | tee -a $LOG_FILE +exit 0 |