diff options
author | Carl Worth <cworth@cworth.org> | 2010-07-19 17:49:23 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-07-20 14:30:47 -0700 |
commit | c5aa3891c2a03b503ed3c7af23d4b06d176e4e85 (patch) | |
tree | 808131eb4bfbfc52e5fa1fbe9492103230358be6 | |
parent | fa742569cbec185a50130d00a46eac5372f52441 (diff) |
glcpp: Make test suite test for valgrind cleanliness.
As it turns out, 4 of our current tests are not valgrind clean,
(use after free errors or so), so this will be helpful for
investigating and fixing those.
-rwxr-xr-x | src/glsl/glcpp/tests/glcpp-test | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/glsl/glcpp/tests/glcpp-test b/src/glsl/glcpp/tests/glcpp-test index 8277719715..cfe7e97878 100755 --- a/src/glsl/glcpp/tests/glcpp-test +++ b/src/glsl/glcpp/tests/glcpp-test @@ -2,7 +2,9 @@ total=0 pass=0 +clean=0 +echo "====== Testing for correctness ======" for test in *.c; do echo -n "Testing $test..." ../glcpp < $test > $test.out @@ -16,10 +18,28 @@ for test in *.c; do fi done +echo "" echo "$pass/$total tests returned correct results" echo "" -if [ "$pass" = "$total" ] ; then +echo "====== Testing for valgrind cleanliness ======" +for test in *.c; do + echo -n "Testing $test with valgrind..." + if valgrind --error-exitcode=1 --log-file=$test.valgrind-errors ../glcpp < $test >/dev/null; then + echo "CLEAN" + clean=$((clean+1)) + rm $test.valgrind-errors + else + echo "ERRORS" + cat $test.valgrind-errors + fi +done + +echo "" +echo "$pass/$total tests returned correct results" +echo "$clean/$total tests are valgrind-clean" + +if [ "$pass" = "$total" ] && [ "$clean" = "$total" ]; then exit 0 else exit 1 |