glsl/tests/optimization-test: pass glsl_test as argument
authorEmil Velikov <emil.velikov@collabora.com>
Sun, 26 Feb 2017 20:28:21 +0000 (20:28 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 28 Mar 2017 14:31:23 +0000 (15:31 +0100)
Rather than hardcoding the binary location (which ends up wrong in a
number of occasions) in the python script, pass it as argument.

This allows us to remove a couple of dirname/basename workarounds that
aimed to keep this working, and succeeded in the odd occasion.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
src/compiler/glsl/tests/lower_jumps/create_test_cases.py
src/compiler/glsl/tests/optimization-test.sh

index defff2ed34fbac7031607f1465dd2c8ac56a1e7c..f1217b8020f943a6abc45155922028e115557fad 100644 (file)
@@ -31,6 +31,7 @@ import sys
 sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) # For access to sexps.py, which is in parent dir
 from sexps import *
 
+runner = ":"
 outdir = "."
 def make_test_case(f_name, ret_type, body):
     """Create a simple optimization test case consisting of a single
@@ -290,7 +291,7 @@ def create_test_case(doc_string, input_sexp, expected_sexp, test_name,
         'do_lower_jumps({0:d}, {1:d}, {2:d}, {3:d}, {4:d})'.format(
             pull_out_jumps, lower_sub_return, lower_main_return,
             lower_continue, lower_break))
-    args = ['../../glsl_test', 'optpass', '--quiet', '--input-ir', optimization]
+    args = [runner, 'optpass', '--quiet', '--input-ir', optimization]
     test_file = os.path.join(outdir, '{0}.opt_test'.format(test_name))
     with open(test_file, 'w') as f:
         f.write('#!/usr/bin/env bash\n#\n# This file was generated by create_test_cases.py.\n#\n')
@@ -626,10 +627,14 @@ def test_lower_return_non_void_at_end_of_loop():
 
 if __name__ == '__main__':
     parser = argparse.ArgumentParser()
+    parser.add_argument('--runner',
+                        help='The glsl_test runner',
+                        required=True)
     parser.add_argument('--outdir',
                         help='Directory to put the generated files in',
                         required=True)
     args = parser.parse_args()
+    runner = args.runner
     outdir = args.outdir
 
     test_lower_returns_main()
index 86a87b0d954a6c60e4cb4382d8c1c15b828a28ba..ddfa7886b5a065223d4097eec81552fae2e606ce 100755 (executable)
@@ -38,7 +38,7 @@ for dir in $srcdir/glsl/tests/*/; do
         completedir="$abs_builddir/glsl/tests/`echo ${dir} | sed 's|.*/glsl/tests/||g'`"
         mkdir -p $completedir
         cd $dir;
-        $PYTHON2 create_test_cases.py --outdir $completedir;
+        $PYTHON2 create_test_cases.py --runner $abs_builddir/glsl/glsl_test --outdir $completedir;
         if [ $? -eq 0 ]; then
             has_tests=1
         fi
@@ -61,7 +61,7 @@ fi
 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
+    ./$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"