glslang tests: Track accumulative success/fail result. Contributed by Lei Zhang (antiagainst@google.com).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31207 e7fa87d3-cd2b-0410-9028-fcbf551c1848
diff --git a/Test/runtests b/Test/runtests
index 8a270ab..9c9dae7 100755
--- a/Test/runtests
+++ b/Test/runtests
@@ -3,6 +3,7 @@
TARGETDIR=localResults
BASEDIR=baseResults
EXE=../build/install/bin/glslangValidator
+HASERROR=0
mkdir -p localResults
#
@@ -10,11 +11,11 @@
#
echo running configuration file test
$EXE -c > $TARGETDIR/test.conf
-diff -b $BASEDIR/test.conf $TARGETDIR/test.conf
+diff -b $BASEDIR/test.conf $TARGETDIR/test.conf || HASERROR=1
$EXE -i -l $TARGETDIR/test.conf specExamples.vert > $TARGETDIR/specExamples.vert.out
-diff -b $BASEDIR/specExamples.vert.out $TARGETDIR
+diff -b $BASEDIR/specExamples.vert.out $TARGETDIR || HASERROR=1
$EXE 100Limits.vert 100.conf > $TARGETDIR/100LimitsConf.vert.out
-diff -b $BASEDIR/100LimitsConf.vert.out $TARGETDIR/100LimitsConf.vert.out
+diff -b $BASEDIR/100LimitsConf.vert.out $TARGETDIR/100LimitsConf.vert.out || HASERROR=1
#
# isolated compilation tests
@@ -23,7 +24,7 @@
echo Running $t...
b=`basename $t`
$EXE -i -l $t > $TARGETDIR/$b.out
- diff -b $BASEDIR/$b.out $TARGETDIR/$b.out
+ diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
done < testlist
if [ -a localtestlist ]
@@ -32,7 +33,7 @@
echo Running $t...
b=`basename $t`
$EXE -i -l $t > $TARGETDIR/$b.out
- diff -b $BASEDIR/$b.out $TARGETDIR/$b.out
+ diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
done < localtestlist
fi
@@ -43,7 +44,7 @@
echo Running SPIR-V $t...
b=`basename $t`
$EXE -H $t > $TARGETDIR/$b.out
- diff -b $BASEDIR/$b.out $TARGETDIR/$b.out
+ diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
done
#
@@ -52,7 +53,7 @@
function runBulkTest {
echo Running $*...
$EXE -i -l -t $* > $TARGETDIR/$1.out
- diff -b $BASEDIR/$1.out $TARGETDIR/$1.out
+ diff -b $BASEDIR/$1.out $TARGETDIR/$1.out || HASERROR=1
}
runBulkTest mains1.frag mains2.frag noMain1.geom noMain2.geom
@@ -70,7 +71,7 @@
#
echo Running reflection...
$EXE -l -q reflection.vert > $TARGETDIR/reflection.vert.out
-diff -b $BASEDIR/reflection.vert.out $TARGETDIR/reflection.vert.out
+diff -b $BASEDIR/reflection.vert.out $TARGETDIR/reflection.vert.out || HASERROR=1
#
# multi-threaded test
@@ -78,4 +79,6 @@
echo Comparing single thread to multithread for all tests in current directory...
$EXE -i *.vert *.geom *.frag *.tes* *.comp > singleThread.out
$EXE -i *.vert *.geom *.frag *.tes* *.comp -t > multiThread.out
-diff singleThread.out multiThread.out
+diff singleThread.out multiThread.out || HASERROR=1
+
+exit $HASERROR