1/*
2 * Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#include <climits>
17#include <gtest/gtest.h>
18#include "../Deqpgles3BaseFunc.h"
19#include "../ActsDeqpgles30005TestSuite.h"
20#include "shrinkdefine.h"
21
22using namespace std;
23using namespace testing::ext;
24using namespace OHOS;
25
26static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004960,
27        "dEQP-GLES3.functional.shaders.scoping.i",
28        "nvalid.redeclare_global_variable_vertex");
29
30static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004961,
31        "dEQP-GLES3.functional.shaders.scoping.in",
32        "valid.redeclare_global_variable_fragment");
33
34static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004962,
35        "dEQP-GLES3.functional.shaders.scoping.",
36        "invalid.redeclare_local_variable_vertex");
37
38static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004963,
39        "dEQP-GLES3.functional.shaders.scoping.i",
40        "nvalid.redeclare_local_variable_fragment");
41
42static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004964,
43        "dEQP-GLES3.functional.shaders.scoping.invalid",
44        ".redeclare_for_init_statement_variable_vertex");
45
46static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004965,
47        "dEQP-GLES3.functional.shaders.scoping.invalid.",
48        "redeclare_for_init_statement_variable_fragment");
49
50static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004966,
51        "dEQP-GLES3.functional.shaders.scoping.inva",
52        "lid.redeclare_for_condition_variable_vertex");
53
54static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004967,
55        "dEQP-GLES3.functional.shaders.scoping.inval",
56        "id.redeclare_for_condition_variable_fragment");
57
58static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004968,
59        "dEQP-GLES3.functional.shaders.scoping.invalid.redecla",
60        "re_for_init_statement_variable_in_for_condition_vertex");
61
62static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004969,
63        "dEQP-GLES3.functional.shaders.scoping.invalid.redeclar",
64        "e_for_init_statement_variable_in_for_condition_fragment");
65
66static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004970,
67        "dEQP-GLES3.functional.shaders.scoping.inval",
68        "id.redeclare_while_condition_variable_vertex");
69
70static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004971,
71        "dEQP-GLES3.functional.shaders.scoping.invali",
72        "d.redeclare_while_condition_variable_fragment");
73
74static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004972,
75        "dEQP-GLES3.functional.shaders.scopi",
76        "ng.invalid.redefine_function_vertex");
77
78static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004973,
79        "dEQP-GLES3.functional.shaders.scopin",
80        "g.invalid.redefine_function_fragment");
81
82static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004974,
83        "dEQP-GLES3.functional.shaders.scopi",
84        "ng.invalid.redeclare_builtin_vertex");
85
86static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004975,
87        "dEQP-GLES3.functional.shaders.scopin",
88        "g.invalid.redeclare_builtin_fragment");
89
90static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004976,
91        "dEQP-GLES3.functional.shaders.scop",
92        "ing.invalid.redefine_builtin_vertex");
93
94static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004977,
95        "dEQP-GLES3.functional.shaders.scopi",
96        "ng.invalid.redefine_builtin_fragment");
97
98static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004978,
99        "dEQP-GLES3.functional.shaders.scoping.",
100        "invalid.conflict_function_struct_vertex");
101
102static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004979,
103        "dEQP-GLES3.functional.shaders.scoping.i",
104        "nvalid.conflict_function_struct_fragment");
105
106static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004980,
107        "dEQP-GLES3.functional.shaders.scoping.i",
108        "nvalid.conflict_function_variable_vertex");
109
110static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004981,
111        "dEQP-GLES3.functional.shaders.scoping.in",
112        "valid.conflict_function_variable_fragment");
113
114static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004982,
115        "dEQP-GLES3.functional.shaders.scoping.invalid",
116        ".use_global_variable_before_declaration_vertex");
117
118static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004983,
119        "dEQP-GLES3.functional.shaders.scoping.invalid.",
120        "use_global_variable_before_declaration_fragment");
121
122static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004984,
123        "dEQP-GLES3.functional.shaders.scoping.invalid",
124        ".use_local_variable_before_declaration_vertex");
125
126static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004985,
127        "dEQP-GLES3.functional.shaders.scoping.invalid.",
128        "use_local_variable_before_declaration_fragment");
129
130static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004986,
131        "dEQP-GLES3.functional.shaders.scoping.inval",
132        "id.use_struct_type_before_declaration_vertex");
133
134static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004987,
135        "dEQP-GLES3.functional.shaders.scoping.invali",
136        "d.use_struct_type_before_declaration_fragment");
137
138static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004988,
139        "dEQP-GLES3.functional.shaders.scoping.inva",
140        "lid.use_function_before_declaration_vertex");
141
142static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004989,
143        "dEQP-GLES3.functional.shaders.scoping.inval",
144        "id.use_function_before_declaration_fragment");
145
146static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004990,
147        "dEQP-GLES3.functional.shaders.scoping.invalid",
148        ".use_variable_from_block_in_outer_scope_vertex");
149
150static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004991,
151        "dEQP-GLES3.functional.shaders.scoping.invalid.",
152        "use_variable_from_block_in_outer_scope_fragment");
153
154static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004992,
155        "dEQP-GLES3.functional.shaders.scoping.invali",
156        "d.use_variable_from_if_in_outer_scope_vertex");
157
158static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004993,
159        "dEQP-GLES3.functional.shaders.scoping.invalid",
160        ".use_variable_from_if_in_outer_scope_fragment");
161
162static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004994,
163        "dEQP-GLES3.functional.shaders.scoping.invalid",
164        ".use_variable_from_else_in_outer_scope_vertex");
165
166static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004995,
167        "dEQP-GLES3.functional.shaders.scoping.invalid.",
168        "use_variable_from_else_in_outer_scope_fragment");
169
170static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004996,
171        "dEQP-GLES3.functional.shaders.scoping.in",
172        "valid.use_variable_from_if_in_else_vertex");
173
174static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004997,
175        "dEQP-GLES3.functional.shaders.scoping.inv",
176        "alid.use_variable_from_if_in_else_fragment");
177
178static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004998,
179        "dEQP-GLES3.functional.shaders.scoping.invalid.use_va",
180        "riable_from_for_init_statement_in_outer_scope_vertex");
181
182static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_004999,
183        "dEQP-GLES3.functional.shaders.scoping.invalid.use_var",
184        "iable_from_for_init_statement_in_outer_scope_fragment");
185
186static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_005000,
187        "dEQP-GLES3.functional.shaders.scoping.invalid.use_",
188        "variable_from_while_condition_in_outer_scope_vertex");
189
190static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_005001,
191        "dEQP-GLES3.functional.shaders.scoping.invalid.use_v",
192        "ariable_from_while_condition_in_outer_scope_fragment");
193
194static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_005002,
195        "dEQP-GLES3.functional.shaders.scoping.invalid.use",
196        "_parameter_names_from_function_declaration_vertex");
197
198static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_005003,
199        "dEQP-GLES3.functional.shaders.scoping.invalid.use_",
200        "parameter_names_from_function_declaration_fragment");
201
202static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_005004,
203        "dEQP-GLES3.functional.shaders.scoping.invalid.",
204        "variable_not_visible_in_own_initializer_vertex");
205
206static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_005005,
207        "dEQP-GLES3.functional.shaders.scoping.invalid.v",
208        "ariable_not_visible_in_own_initializer_fragment");
209
210static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_005006,
211        "dEQP-GLES3.functional.shaders.scoping.invalid.",
212        "local_variable_hides_function_parameter_vertex");
213
214static SHRINK_HWTEST_F(ActsDeqpgles30005TestSuite, TestCase_005007,
215        "dEQP-GLES3.functional.shaders.scoping.invalid.l",
216        "ocal_variable_hides_function_parameter_fragment");
217