glsl: add warning-test

It executes compiler-glsl on all the available shaders, and it checks
that the outcome is the expected.

Bash code based on the already existing optimization-test

v2: rebasing: use --version option

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Alejandro Piñeiro
2016-04-19 21:03:07 +02:00
parent 68c23d2d04
commit eee00274fa
2 changed files with 33 additions and 1 deletions

View File

@@ -35,7 +35,8 @@ TESTS += glsl/glcpp/tests/glcpp-test \
glsl/tests/general-ir-test \
glsl/tests/optimization-test \
glsl/tests/sampler-types-test \
glsl/tests/uniform-initializer-test
glsl/tests/uniform-initializer-test \
glsl/tests/warnings-test
TESTS_ENVIRONMENT= \
export PYTHON2=$(PYTHON2); \

View File

@@ -0,0 +1,31 @@
#!/usr/bin/env bash
# Execute several shaders, and check that the InfoLog outcome is the expected.
compiler=./glsl_compiler
total=0
pass=0
echo "====== Testing compilation output ======"
for test in `find . -iname '*.vert'`; do
echo -n "Testing $test..."
$compiler --just-log --version 150 "$test" > "$test.out" 2>&1
total=$((total+1))
if diff "$test.expected" "$test.out" >/dev/null 2>&1; then
echo "PASS"
pass=$((pass+1))
else
echo "FAIL"
diff "$test.expected" "$test.out"
fi
done
echo ""
echo "$pass/$total tests returned correct results"
echo ""
if [[ $pass == $total ]]; then
exit 0
else
exit 1
fi