From: Emil Velikov <emil.veli...@collabora.com> At the moment things are completely bonkers (as can be seen from last commit). Regardless if we run the test as part of "make check" or standalone the most of the paths are wrong.
Untangle things by issuing "cd `dirname "$0`" and working from there. Otherwise it's nearly impossible to consider all the permutations one can use while running outside of "make check" Clearly document the variables and the intended behaviour. Signed-off-by: Emil Velikov <emil.veli...@collabora.com> --- We really want to cut down all the crazy design here. Dylan ? sh script which executes a python one, with the latter creating a bunch of sh ones and hardcoding binary location. Then call the generated sh scripts, to create the tested OP files. Now compare the expected vs the tested via another python script which decodes [in to a temporary file] and calls "diff" to compare them. --- src/compiler/glsl/tests/optimization-test | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/compiler/glsl/tests/optimization-test b/src/compiler/glsl/tests/optimization-test index d84b83cfaa..e851e13bfb 100755 --- a/src/compiler/glsl/tests/optimization-test +++ b/src/compiler/glsl/tests/optimization-test @@ -1,10 +1,18 @@ #!/usr/bin/env bash -if [ ! -z "$srcdir" ]; then - compare_ir=`pwd`/tests/compare_ir -else - compare_ir=./compare_ir +# The srcdir variable must point to the location where the Makefile.am or +# Makefile.glsl.am in particular is. Even if we execute this test manually. + +if [ -z "$srcdir" ]; then + srcdir=./../../ + + # In the manual invokation case, we must CD otherwise we cannot manage all + # the permutations of our scripts which calls a script to create a script + # then execute the script design. + cd `dirname "$0"` + fi +compare_ir=$srcdir/glsl/tests/compare_ir if [ -z "$PYTHON2" ]; then PYTHON2=python2 @@ -20,10 +28,13 @@ total=0 pass=0 has_tests=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; + echo found $PYTHON2 create_test_cases.py if [ "x$?" = x0 ]; then has_tests=1 @@ -32,6 +43,7 @@ for dir in tests/*/; do fi echo "$dir" done +cd "$ORIGDIR" if [ "x$has_tests" = x0 ]; then echo "Could not generate any tests." -- 2.11.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev