glcpp: Make tests write .out files to builddir.
authorMatt Turner <mattst88@gmail.com>
Mon, 8 Dec 2014 07:43:00 +0000 (23:43 -0800)
committerMatt Turner <mattst88@gmail.com>
Fri, 12 Dec 2014 20:11:50 +0000 (12:11 -0800)
src/glsl/glcpp/tests/glcpp-test
src/glsl/glcpp/tests/glcpp-test-cr-lf

index ea69edfd8b0d08d2f2839a5904e7eb5cc2619a12..825c22e71fbb45003557104609a1be37f9520990 100755 (executable)
@@ -2,9 +2,11 @@
 
 if [ ! -z "$srcdir" ]; then
    testdir=$srcdir/glcpp/tests
+   outdir=`pwd`/glcpp/tests
    glcpp=`pwd`/glcpp/glcpp
 else
    testdir=.
+   outdir=.
    glcpp=../glcpp
 fi
 
@@ -43,6 +45,7 @@ for option; do
             ;;
         "--testdir="*)
             testdir="${option#--testdir=}"
+            outdir="${outdir}/${option#--testdir=}"
             ;;
         *)
            echo "Unrecognized option: $option" >&2
@@ -57,17 +60,21 @@ total=0
 pass=0
 clean=0
 
+mkdir -p $outdir
+
 echo "====== Testing for correctness ======"
 for test in $testdir/*.c; do
-    printf "Testing $test..."
-    $glcpp $(test_specific_args $test) < $test > $test.out 2>&1
+    out=$outdir/${test##*/}.out
+
+    printf "Testing $test... > $out ($test.expected) "
+    $glcpp $(test_specific_args $test) < $test > $out 2>&1
     total=$((total+1))
-    if cmp $test.expected $test.out >/dev/null 2>&1; then
+    if cmp $test.expected $out >/dev/null 2>&1; then
        echo "PASS"
        pass=$((pass+1))
     else
        echo "FAIL"
-       diff -u $test.expected $test.out
+       diff -u $test.expected $out
     fi
 done
 
index 7988c058787d58730c3a7989c33fb43518d34412..c4ed0b86d74f11cad5ec8be0c02213c758770273 100755 (executable)
@@ -99,7 +99,7 @@ mkdir subtest-cr
 for file in "$testdir"/*.c; do
     base=$(basename "$file")
     tr "\n" "\r" < "$file" > subtest-cr/"$base"
-    cp subtest-lf/"$base".out subtest-cr/"$base".expected
+    cp `pwd`/glcpp/tests/subtest-lf/"$base".out subtest-cr/"$base".expected
 done
 
 run_test "${glcpp_test} --testdir=subtest-cr"
@@ -112,7 +112,7 @@ mkdir subtest-cr-lf
 for file in "$testdir"/*.c; do
     base=$(basename "$file")
     sed -e 's/$/\r/' < "$file" > subtest-cr-lf/"$base"
-    cp subtest-lf/"$base".out subtest-cr-lf/"$base".expected
+    cp `pwd`/glcpp/tests/subtest-lf/"$base".out subtest-cr-lf/"$base".expected
 done
 
 run_test "${glcpp_test} --testdir=subtest-cr-lf"
@@ -125,7 +125,7 @@ mkdir subtest-lf-cr
 for file in "$testdir"/*.c; do
     base=$(basename "$file")
     sed -e 's/$/\r/' < "$file" | tr "\n\r" "\r\n" > subtest-lf-cr/"$base"
-    cp subtest-lf/"$base".out subtest-lf-cr/"$base".expected
+    cp `pwd`/glcpp/tests/subtest-lf/"$base".out subtest-lf-cr/"$base".expected
 done
 
 run_test "${glcpp_test} --testdir=subtest-lf-cr"