diff options
Diffstat (limited to 'cmake/scripts/linux/cppcheck-test.sh.in')
-rwxr-xr-x | cmake/scripts/linux/cppcheck-test.sh.in | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/cmake/scripts/linux/cppcheck-test.sh.in b/cmake/scripts/linux/cppcheck-test.sh.in new file mode 100755 index 0000000000..08cb672636 --- /dev/null +++ b/cmake/scripts/linux/cppcheck-test.sh.in @@ -0,0 +1,28 @@ +#!/bin/bash + +# This script performs a single analysis using cppcheck +# It is used by the 'make test' target in the buildsystems +# Usually you should use 'ctest -C cppcheck' rather than calling this script directly +# +# Parameters: $1 = Application binary +# $2 = Source file to process +# $3..$N = include path parameters (-I dir1 -I dir2 ...) + +cppcheck_cmd=$1 +source_file=$2 +shift 2 + +tmpfil=`mktemp` +$cppcheck_cmd $@ --force --enable=all --suppress=unusedFunction $source_file &> $tmpfil +nmatch=`cat $tmpfil | grep "\[.*\]" | wc -l` +nnone=`cat $tmpfil | grep "\[\\*]" | wc -l` +let "nval=$nmatch-$nnone" +if test $nval -gt 0 +then + cat $tmpfil + rm $tmpfil + exit 1 +fi + +rm $tmpfil +exit 0 |