summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/runtests
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/glslang/src/Test/runtests')
-rwxr-xr-xchromium/third_party/glslang/src/Test/runtests130
1 files changed, 130 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/runtests b/chromium/third_party/glslang/src/Test/runtests
new file mode 100755
index 00000000000..d54fb580e82
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/runtests
@@ -0,0 +1,130 @@
+#!/usr/bin/env bash
+
+TARGETDIR=localResults
+BASEDIR=baseResults
+EXE=../build/install/bin/glslangValidator
+HASERROR=0
+mkdir -p localResults
+
+#
+# configuration file tests
+#
+echo running configuration file test
+$EXE -c > $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 || HASERROR=1
+$EXE -l 100Limits.vert 100.conf > $TARGETDIR/100LimitsConf.vert.out
+diff -b $BASEDIR/100LimitsConf.vert.out $TARGETDIR/100LimitsConf.vert.out || HASERROR=1
+
+#
+# isolated compilation tests
+#
+while read t; do
+ echo Running $t...
+ b=`basename $t`
+ $EXE -i -l $t > $TARGETDIR/$b.out
+ diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
+done < testlist
+
+if [ -a localtestlist ]
+ then
+ while read t; do
+ echo Running $t...
+ b=`basename $t`
+ $EXE -i -l $t > $TARGETDIR/$b.out
+ diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
+ done < localtestlist
+fi
+
+#
+# SPIR-V code generation tests
+#
+while read t; do
+ case $t in
+ \#*)
+ # Skip comment lines in the test list file.
+ ;;
+ *)
+ echo Running SPIR-V $t...
+ b=`basename $t`
+ $EXE -H $t > $TARGETDIR/$b.out
+ diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
+ ;;
+ esac
+done < test-spirv-list
+rm -f comp.spv frag.spv geom.spv tesc.spv tese.spv vert.spv
+
+#
+# HLSL -> SPIR-V code generation tests
+#
+while read t; do
+ case $t in
+ \#*)
+ # Skip comment lines in the test list file.
+ ;;
+ *)
+ echo Running HLSL-to-SPIR-V $t...
+ b=`basename $t`
+ $EXE -D -e PixelShaderFunction -H -i $t > $TARGETDIR/$b.out
+ diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
+ ;;
+ esac
+done < test-hlsl-spirv-list
+rm -f comp.spv frag.spv geom.spv tesc.spv tese.spv vert.spv
+
+#
+# Preprocessor tests
+#
+while read t; do
+ echo Running Preprocessor $t...
+ b=`basename $t`
+ $EXE -E $t > $TARGETDIR/$b.out 2> $TARGETDIR/$b.err
+ diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
+ diff -b $BASEDIR/$b.err $TARGETDIR/$b.err || HASERROR=1
+done < test-preprocessor-list
+
+#
+# grouped shaders for bulk (faster) tests
+#
+function runBulkTest {
+ echo Running $*...
+ $EXE -i -l -t $* > $TARGETDIR/$1.out
+ diff -b $BASEDIR/$1.out $TARGETDIR/$1.out || HASERROR=1
+}
+
+runBulkTest mains1.frag mains2.frag noMain1.geom noMain2.geom
+runBulkTest noMain.vert mains.frag
+runBulkTest link1.frag link2.frag link3.frag
+runBulkTest es-link1.frag es-link2.frag
+runBulkTest recurse1.vert recurse1.frag recurse2.frag
+runBulkTest 300link.frag
+runBulkTest 300link2.frag
+runBulkTest 300link3.frag
+runBulkTest empty.frag empty2.frag empty3.frag
+runBulkTest 150.tesc 150.tese 400.tesc 400.tese 410.tesc 420.tesc 420.tese
+runBulkTest max_vertices_0.geom
+
+#
+# reflection tests
+#
+echo Running reflection...
+$EXE -l -q reflection.vert > $TARGETDIR/reflection.vert.out
+diff -b $BASEDIR/reflection.vert.out $TARGETDIR/reflection.vert.out || HASERROR=1
+
+#
+# multi-threaded test
+#
+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 || HASERROR=1
+
+if [ $HASERROR -eq 0 ]
+then
+ echo Tests Succeeded.
+else
+ echo Tests Failed.
+fi
+
+exit $HASERROR