diff options
author | Carl Worth <[email protected]> | 2010-07-19 17:49:23 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2010-07-20 17:01:11 -0700 |
commit | d1500f8a195b7afe871cd768a5d33ecfecad5f31 (patch) | |
tree | ebb9d988b9be7468257b8bf2f0eda45c2528384b /src | |
parent | 3a530b8ef68a40526b33de2af8de85f71ebdb30d (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.
Diffstat (limited to 'src')
-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 82777197150..cfe7e978786 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 |