summary/html: specify lang="en" in html tag
[piglit.git] / generated_tests / gen_const_builtin_equal_tests.py
blob6fbd5be210827f6478e26ee0af75527ced5f95b0
1 # coding=utf-8
2 # Copyright (c) 2010, 2014 Intel Corporation
4 # Permission is hereby granted, free of charge, to any person obtaining a copy
5 # of this software and associated documentation files (the "Software"), to deal
6 # in the Software without restriction, including without limitation the rights
7 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 # copies of the Software, and to permit persons to whom the Software is
9 # furnished to do so, subject to the following conditions:
11 # The above copyright notice and this permission notice shall be included in
12 # all copies or substantial portions of the Software.
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 # SOFTWARE.
22 """ Generate tests for builtin const equality tests """
24 from __future__ import print_function, division, absolute_import
25 import re
26 import os
28 from templates import template_file
29 from modules import utils
31 TEMPLATE = template_file(os.path.basename(os.path.splitext(__file__)[0]),
32 'template.shader_test.mako')
34 TEST_VECTORS = [
35 ["vec2(3.0, 3.14)",
36 "vec2(-6.0, 7.88)",
37 "bvec2(false, false)"
39 ["vec3(13.4, -0.9, 12.55)",
40 "vec3(13.4, 12.0, -55.3)",
41 "bvec3(true, false, false)"
43 ["vec4(-2.0, 0.0, 0.123, -1000.5)",
44 "vec4(-2.4, 0.0, 0.456, 12.5)",
45 "bvec4(false, true, false, false)"
47 ["ivec2(-8, 12)",
48 "ivec2(-19, 12)",
49 "bvec2(false, true)"
51 ["ivec3(0, 8, 89)",
52 "ivec3(4, -7, 33)",
53 "bvec3(false, false, false)"
55 ["ivec4(11, 1000, 1, -18)",
56 "ivec4(55, 1000, -21, -17)",
57 "bvec4(false, true, false, false)"
59 ["bvec2(true, false)",
60 "bvec2(true, true)",
61 "bvec2(true, false)"
63 ["bvec3(false, true, false)",
64 "bvec3(false, false, true)",
65 "bvec3(true, false, false)"
67 ["bvec4(true, false, false, true)",
68 "bvec4(true, true, false, false)",
69 "bvec4(true, false, true, false)"
74 def main():
75 """ Main function """
76 dirname = os.path.join('spec', 'glsl-1.20', 'execution',
77 'built-in-functions')
78 utils.safe_makedirs(dirname)
80 for test_id, x in enumerate(TEST_VECTORS, start=2):
81 # make equal tests
82 name = os.path.join(
83 dirname,
84 "glsl-const-builtin-equal-{0:02d}.shader_test".format(test_id))
86 print(name)
88 with open(name, 'w') as f:
89 f.write(TEMPLATE.render_unicode(
90 func='equal', input=x[0:2], expected=x[2]))
92 # make notEqual tests
93 name = os.path.join(
94 dirname,
95 "glsl-const-builtin-notEqual-{0:02d}.shader_test".format(test_id))
97 # When generating the notEqual tests, each of the values in the
98 # expected result vector need to be inverted
99 expected = re.sub("true", "FALSE", x[2])
100 expected = re.sub("false", "TRUE", expected)
101 expected = expected.lower()
103 print(name)
105 with open(name, 'w') as f:
106 f.write(TEMPLATE.render_unicode(
107 func='notEqual', input=x[0:2], expected=expected))
110 if __name__ == "__main__":
111 main()