diff options
Diffstat (limited to 'src/compiler/glsl/tests/optimization-test')
-rwxr-xr-x | src/compiler/glsl/tests/optimization-test | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/compiler/glsl/tests/optimization-test b/src/compiler/glsl/tests/optimization-test new file mode 100755 index 00000000000..26a51be6980 --- /dev/null +++ b/src/compiler/glsl/tests/optimization-test @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +if [ ! -z "$srcdir" ]; then + compare_ir=`pwd`/tests/compare_ir +else + compare_ir=./compare_ir +fi + +total=0 +pass=0 + +echo "====== Generating tests ======" +for dir in tests/*/; do + if [ -e "${dir}create_test_cases.py" ]; then + cd $dir; $PYTHON2 create_test_cases.py; cd .. + fi + echo "$dir" +done + +echo "====== Testing optimization passes ======" +for test in `find . -iname '*.opt_test'`; do + echo -n "Testing $test..." + (cd `dirname "$test"`; ./`basename "$test"`) > "$test.out" 2>&1 + total=$((total+1)) + if $PYTHON2 $PYTHON_FLAGS $compare_ir "$test.expected" "$test.out" >/dev/null 2>&1; then + echo "PASS" + pass=$((pass+1)) + else + echo "FAIL" + $PYTHON2 $PYTHON_FLAGS $compare_ir "$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 |