summaryrefslogtreecommitdiffstats
path: root/src/glsl/glcpp/tests/glcpp-test
diff options
context:
space:
mode:
Diffstat (limited to 'src/glsl/glcpp/tests/glcpp-test')
-rwxr-xr-xsrc/glsl/glcpp/tests/glcpp-test22
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