blob: 9c9dae7c8802f8b3a82d517e8def9191717eab86 [file] [log] [blame]
John Kessenichaab25142013-02-12 18:26:15 +00001#!/usr/bin/env bash
2
John Kessenich4586dbd2013-08-05 15:52:03 +00003TARGETDIR=localResults
4BASEDIR=baseResults
John Kessenichd18e2d82014-03-11 02:10:26 +00005EXE=../build/install/bin/glslangValidator
John Kessenichb38c9692015-05-15 19:01:17 +00006HASERROR=0
John Kessenich08d18242013-12-20 18:36:27 +00007mkdir -p localResults
John Kessenich69f4b512013-09-04 21:19:27 +00008
9#
John Kessenicha5830df2013-10-02 05:10:48 +000010# configuration file tests
John Kessenich05a70632013-09-17 19:26:08 +000011#
12echo running configuration file test
13$EXE -c > $TARGETDIR/test.conf
John Kessenichb38c9692015-05-15 19:01:17 +000014diff -b $BASEDIR/test.conf $TARGETDIR/test.conf || HASERROR=1
John Kessenich5134b9c2013-11-20 21:12:43 +000015$EXE -i -l $TARGETDIR/test.conf specExamples.vert > $TARGETDIR/specExamples.vert.out
John Kessenichb38c9692015-05-15 19:01:17 +000016diff -b $BASEDIR/specExamples.vert.out $TARGETDIR || HASERROR=1
John Kessenicha5830df2013-10-02 05:10:48 +000017$EXE 100Limits.vert 100.conf > $TARGETDIR/100LimitsConf.vert.out
John Kessenichb38c9692015-05-15 19:01:17 +000018diff -b $BASEDIR/100LimitsConf.vert.out $TARGETDIR/100LimitsConf.vert.out || HASERROR=1
John Kessenich05a70632013-09-17 19:26:08 +000019
20#
John Kessenich69f4b512013-09-04 21:19:27 +000021# isolated compilation tests
22#
John Kessenichaab25142013-02-12 18:26:15 +000023while read t; do
24 echo Running $t...
John Kessenich69f4b512013-09-04 21:19:27 +000025 b=`basename $t`
John Kessenich5134b9c2013-11-20 21:12:43 +000026 $EXE -i -l $t > $TARGETDIR/$b.out
John Kessenichb38c9692015-05-15 19:01:17 +000027 diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
John Kessenichb3338b32013-02-26 19:47:21 +000028done < testlist
John Kessenich69f4b512013-09-04 21:19:27 +000029
John Kessenichcf0206c2014-04-14 15:46:40 +000030if [ -a localtestlist ]
31 then
32 while read t; do
33 echo Running $t...
34 b=`basename $t`
35 $EXE -i -l $t > $TARGETDIR/$b.out
John Kessenichb38c9692015-05-15 19:01:17 +000036 diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
John Kessenichcf0206c2014-04-14 15:46:40 +000037 done < localtestlist
38fi
39
John Kessenich69f4b512013-09-04 21:19:27 +000040#
John Kessenich593a3f72015-05-15 18:44:16 +000041# SPIR-V code generation tests
42#
43grep -v "^#" test-spirv-list | while read t; do
44 echo Running SPIR-V $t...
45 b=`basename $t`
46 $EXE -H $t > $TARGETDIR/$b.out
John Kessenichb38c9692015-05-15 19:01:17 +000047 diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
John Kessenich593a3f72015-05-15 18:44:16 +000048done
49
50#
John Kesseniche8fe7b82013-12-18 18:47:12 +000051# grouped shaders for bulk (faster) tests
John Kessenich69f4b512013-09-04 21:19:27 +000052#
John Kesseniche8fe7b82013-12-18 18:47:12 +000053function runBulkTest {
John Kessenich69f4b512013-09-04 21:19:27 +000054 echo Running $*...
John Kesseniche8fe7b82013-12-18 18:47:12 +000055 $EXE -i -l -t $* > $TARGETDIR/$1.out
John Kessenichb38c9692015-05-15 19:01:17 +000056 diff -b $BASEDIR/$1.out $TARGETDIR/$1.out || HASERROR=1
John Kessenich69f4b512013-09-04 21:19:27 +000057}
58
John Kesseniche8fe7b82013-12-18 18:47:12 +000059runBulkTest mains1.frag mains2.frag noMain1.geom noMain2.geom
60runBulkTest noMain.vert mains.frag
61runBulkTest link1.frag link2.frag link3.frag
62runBulkTest recurse1.vert recurse1.frag recurse2.frag
63runBulkTest 300link.frag
64runBulkTest 300link2.frag
65runBulkTest 300link3.frag
66runBulkTest empty.frag empty2.frag empty3.frag
67runBulkTest 150.tesc 150.tese 400.tesc 400.tese 410.tesc 420.tesc 420.tese
John Kessenich38f3b892013-09-06 19:52:57 +000068
69#
John Kessenich11f9fc72013-11-07 01:06:34 +000070# reflection tests
71#
72echo Running reflection...
73$EXE -l -q reflection.vert > $TARGETDIR/reflection.vert.out
John Kessenichb38c9692015-05-15 19:01:17 +000074diff -b $BASEDIR/reflection.vert.out $TARGETDIR/reflection.vert.out || HASERROR=1
John Kessenich11f9fc72013-11-07 01:06:34 +000075
76#
John Kessenich38f3b892013-09-06 19:52:57 +000077# multi-threaded test
78#
John Kessenich38f3b892013-09-06 19:52:57 +000079echo Comparing single thread to multithread for all tests in current directory...
80$EXE -i *.vert *.geom *.frag *.tes* *.comp > singleThread.out
81$EXE -i *.vert *.geom *.frag *.tes* *.comp -t > multiThread.out
John Kessenichb38c9692015-05-15 19:01:17 +000082diff singleThread.out multiThread.out || HASERROR=1
83
84exit $HASERROR