summaryrefslogtreecommitdiff
path: root/android/scripts/piglit-run-glslparser.sh
blob: e3f58bc5bd2642fbe04d1106947d8a722d6e1272 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/system/bin/sh
#
# piglit glslparser test.
#
# Copyright (C) 2014, Linaro Limited.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51   Franklin Street, Fifth Floor, Boston, MA  02110-1301,
# USA.
#
# owner: yongqin.liu@linaro.org
#
###############################################################################

# find and loop over the vert and frag tests found
# looks recursively down the directory tree
export PIGLIT_PLATFORM=android
bin_path="/system/xbin/piglit/glslparsertest/glslparsertest"
data_dir="/data/piglit/glslparser/"
/system/bin/busybox find ${data_dir} -name "*.frag" -or -name "*.vert" -print0 | while read -d $'\0' file
do
   RESULTFOUND=$(grep expect_result ${file} )
   case $RESULTFOUND in
      *fail*) RESULTEXPECTED="fail";;
      *pass*) RESULTEXPECTED="pass";;
      *) RESULTEXPECTED="pass";;
   esac

   check_link=$(grep check_link ${file})
   case "${check_link}" in
      *true*) check_link="--check-link";;
      *) check_link="";;
   esac

   required_version=$(grep 'glsl_version:' ${file})
   case "${check_link}" in
      *3.00*) required_version="3.00";;
      *) required_version="1.00";;
   esac

   RESULT=$(${bin_path} ${check_link} ${file} $RESULTEXPECTED ${required_version})

   PSTRING='PIGLIT: {"result": "pass"'
   SSTRING='PIGLIT: {"result": "skip"'
   FSTRING='PIGLIT: {"result": "fail"'

   case $RESULT in
      *"$PSTRING"*) echo "glslparser ${file}: pass";;
      *"$SSTRING"*) echo "glslparser ${file}: skip";;
      *"$FSTRING"*) echo "glslparser ${file}: fail";;
      *) echo "glslparser ${file}: fail";;
   esac
done