diff options
-rw-r--r-- | src/compiler/glsl/tests/lower_jumps/create_test_cases.py | 13 | ||||
-rwxr-xr-x | src/compiler/glsl/tests/optimization-test.sh | 10 |
2 files changed, 19 insertions, 4 deletions
diff --git a/src/compiler/glsl/tests/lower_jumps/create_test_cases.py b/src/compiler/glsl/tests/lower_jumps/create_test_cases.py index 3be1079bc14..defff2ed34f 100644 --- a/src/compiler/glsl/tests/lower_jumps/create_test_cases.py +++ b/src/compiler/glsl/tests/lower_jumps/create_test_cases.py @@ -21,6 +21,7 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. +import argparse import os import os.path import re @@ -30,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 * +outdir = "." def make_test_case(f_name, ret_type, body): """Create a simple optimization test case consisting of a single function with the given name, return type, and body. @@ -289,14 +291,14 @@ def create_test_case(doc_string, input_sexp, expected_sexp, test_name, pull_out_jumps, lower_sub_return, lower_main_return, lower_continue, lower_break)) args = ['../../glsl_test', 'optpass', '--quiet', '--input-ir', optimization] - test_file = '{0}.opt_test'.format(test_name) + 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') f.write(doc_string) f.write('{0} <<EOF\n'.format(bash_quote(*args))) f.write('{0}\nEOF\n'.format(input_str)) os.chmod(test_file, 0774) - expected_file = '{0}.opt_test.expected'.format(test_name) + expected_file = os.path.join(outdir, '{0}.opt_test.expected'.format(test_name)) with open(expected_file, 'w') as f: f.write('{0}\n'.format(expected_output)) @@ -623,6 +625,13 @@ def test_lower_return_non_void_at_end_of_loop(): lower_sub_return=True, lower_break=True) if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--outdir', + help='Directory to put the generated files in', + required=True) + args = parser.parse_args() + outdir = args.outdir + test_lower_returns_main() test_lower_returns_sub() test_lower_returns_1() diff --git a/src/compiler/glsl/tests/optimization-test.sh b/src/compiler/glsl/tests/optimization-test.sh index 47970c6be29..1113cb1f17c 100755 --- a/src/compiler/glsl/tests/optimization-test.sh +++ b/src/compiler/glsl/tests/optimization-test.sh @@ -28,13 +28,19 @@ compare_ir=$srcdir/glsl/tests/compare_ir.py total=0 pass=0 +# Store our location before we start diving into subdirectories. +ORIGDIR=`pwd` echo "====== Generating tests ======" -for dir in tests/*/; do +for dir in $srcdir/glsl/tests/*/; do if [ -e "${dir}create_test_cases.py" ]; then - cd $dir; $PYTHON2 create_test_cases.py; cd .. + # construct the correct builddir + completedir="$abs_builddir/glsl/tests/`echo ${dir} | sed 's|.*/glsl/tests/||g'`" + mkdir -p $completedir + cd $dir; $PYTHON2 create_test_cases.py --outdir $completedir; cd .. fi echo "$dir" done +cd "$ORIGDIR" if [ ! -f "$compare_ir" ]; then echo "Could not find compare_ir. Make sure that srcdir variable is correctly set." |