summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlejandro Piñeiro <apinheiro@igalia.com>2016-04-19 21:03:07 +0200
committerAlejandro Piñeiro <apinheiro@igalia.com>2016-05-26 09:19:17 +0200
commiteee00274fa330edfa536da039ba9116bdceb9990 (patch)
tree26ddd92e84022cc4966cdc0078a4b7da81502c58
parent68c23d2d046b6419c7b3bd273278235095e29dae (diff)
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>
-rw-r--r--src/compiler/Makefile.glsl.am3
-rwxr-xr-xsrc/compiler/glsl/tests/warnings-test31
2 files changed, 33 insertions, 1 deletions
diff --git a/src/compiler/Makefile.glsl.am b/src/compiler/Makefile.glsl.am
index 23c2a6b24c2..4e90f16b4e9 100644
--- a/src/compiler/Makefile.glsl.am
+++ b/src/compiler/Makefile.glsl.am
@@ -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); \
diff --git a/src/compiler/glsl/tests/warnings-test b/src/compiler/glsl/tests/warnings-test
new file mode 100755
index 00000000000..1bea4665394
--- /dev/null
+++ b/src/compiler/glsl/tests/warnings-test
@@ -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