Mesa (glsl2): glcpp: Make test suite test for valgrind cleanliness.

Ian Romanick idr at kemper.freedesktop.org
Wed Jul 21 00:07:46 UTC 2010


Module: Mesa
Branch: glsl2
Commit: d1500f8a195b7afe871cd768a5d33ecfecad5f31
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1500f8a195b7afe871cd768a5d33ecfecad5f31

Author: Carl Worth <cworth at cworth.org>
Date:   Mon Jul 19 17:49:23 2010 -0700

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.

---

 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 8277719..cfe7e97 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




More information about the mesa-commit mailing list