Static code analysis fixes for GL cts
[platform/upstream/VK-GL-CTS.git] / scripts / build_android_mustpass.py
1 # -*- coding: utf-8 -*-
2
3 #-------------------------------------------------------------------------
4 # drawElements Quality Program utilities
5 # --------------------------------------
6 #
7 # Copyright 2015 The Android Open Source Project
8 #
9 # Licensed under the Apache License, Version 2.0 (the "License");
10 # you may not use this file except in compliance with the License.
11 # You may obtain a copy of the License at
12 #
13 #      http://www.apache.org/licenses/LICENSE-2.0
14 #
15 # Unless required by applicable law or agreed to in writing, software
16 # distributed under the License is distributed on an "AS IS" BASIS,
17 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 # See the License for the specific language governing permissions and
19 # limitations under the License.
20 #
21 #-------------------------------------------------------------------------
22
23 from build.common import DEQP_DIR
24 from build.config import ANY_GENERATOR
25 from build_caselists import Module, getModuleByName, getBuildConfig, DEFAULT_BUILD_DIR, DEFAULT_TARGET
26 from mustpass import Project, Package, Mustpass, Configuration, include, exclude, genMustpassLists, parseBuildConfigFromCmdLineArgs
27
28 import os
29
30 COPYRIGHT_DECLARATION = """
31      Copyright (C) 2016 The Android Open Source Project
32
33      Licensed under the Apache License, Version 2.0 (the "License");
34      you may not use this file except in compliance with the License.
35      You may obtain a copy of the License at
36
37           http://www.apache.org/licenses/LICENSE-2.0
38
39      Unless required by applicable law or agreed to in writing, software
40      distributed under the License is distributed on an "AS IS" BASIS,
41      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
42      See the License for the specific language governing permissions and
43      limitations under the License.
44      """
45
46 CTS_DATA_DIR                                    = os.path.join(DEQP_DIR, "android", "cts")
47
48 CTS_PROJECT                                             = Project(path = CTS_DATA_DIR, copyright = COPYRIGHT_DECLARATION)
49
50 EGL_MODULE                                              = getModuleByName("dEQP-EGL")
51 GLES2_MODULE                                    = getModuleByName("dEQP-GLES2")
52 GLES3_MODULE                                    = getModuleByName("dEQP-GLES3")
53 GLES31_MODULE                                   = getModuleByName("dEQP-GLES31")
54 VULKAN_MODULE                                   = getModuleByName("dEQP-VK")
55
56 # Master
57
58 MASTER_EGL_COMMON_FILTERS               = [include("egl-master.txt"),
59                                                                    exclude("egl-test-issues.txt"),
60                                                                    exclude("egl-internal-api-tests.txt"),
61                                                                    exclude("egl-manual-robustness.txt"),
62                                                                    exclude("egl-driver-issues.txt"),
63                                                                    exclude("egl-temp-excluded.txt")]
64 MASTER_EGL_PKG                                  = Package(module = EGL_MODULE, configurations = [
65                 # Master
66                 Configuration(name                      = "master",
67                                           glconfig              = "rgba8888d24s8ms0",
68                                           rotation              = "unspecified",
69                                           surfacetype   = "window",
70                                           required              = True,
71                                           filters               = MASTER_EGL_COMMON_FILTERS,
72                                       runtime           = "23m"),
73                 # Risky subset
74                 Configuration(name                      = "master-risky",
75                                           glconfig              = "rgba8888d24s8ms0",
76                                           rotation              = "unspecified",
77                                           surfacetype   = "window",
78                                           required              = True,
79                                           filters               = [include("egl-temp-excluded.txt")],
80                                       runtime           = "2m"),
81         ])
82
83 MASTER_GLES2_COMMON_FILTERS             = [
84                 include("gles2-master.txt"),
85                 exclude("gles2-test-issues.txt"),
86                 exclude("gles2-failures.txt"),
87                 exclude("gles2-temp-excluded.txt"),
88         ]
89 MASTER_GLES2_PKG                                = Package(module = GLES2_MODULE, configurations = [
90                 # Master
91                 Configuration(name                      = "master",
92                                           glconfig              = "rgba8888d24s8ms0",
93                                           rotation              = "unspecified",
94                                           surfacetype   = "window",
95                                           required              = True,
96                                           filters               = MASTER_GLES2_COMMON_FILTERS,
97                                           runtime               = "46m",
98                                           runByDefault          = False),
99                 Configuration(name                      = "master-2020-03-01",
100                                           glconfig              = "rgba8888d24s8ms0",
101                                           rotation              = "unspecified",
102                                           surfacetype   = "window",
103                                           required              = True,
104                                           filters               = [include("gles2-master-2020-03-01.txt")],
105                                           runtime               = "46m"),
106                 Configuration(name                      = "master-2021-03-01",
107                                           glconfig              = "rgba8888d24s8ms0",
108                                           rotation              = "unspecified",
109                                           surfacetype   = "window",
110                                           required              = True,
111                                           filters               = MASTER_GLES2_COMMON_FILTERS + [exclude("gles2-master-2020-03-01.txt")],
112                                           runtime               = "10m"),
113         ])
114
115 MASTER_GLES3_COMMON_FILTERS             = [
116                 include("gles3-master.txt"),
117                 exclude("gles3-hw-issues.txt"),
118                 exclude("gles3-driver-issues.txt"),
119                 exclude("gles3-test-issues.txt"),
120                 exclude("gles3-spec-issues.txt"),
121                 exclude("gles3-temp-excluded.txt"),
122         ]
123 MASTER_GLES3_PKG                                = Package(module = GLES3_MODULE, configurations = [
124                 # Master
125                 Configuration(name                      = "master",
126                                           glconfig              = "rgba8888d24s8ms0",
127                                           rotation              = "unspecified",
128                                           surfacetype   = "window",
129                                           required              = True,
130                                           filters               = MASTER_GLES3_COMMON_FILTERS,
131                                           runtime               = "1h50m",
132                                           runByDefault          = False),
133                 Configuration(name                      = "master-2020-03-01",
134                                           glconfig              = "rgba8888d24s8ms0",
135                                           rotation              = "unspecified",
136                                           surfacetype   = "window",
137                                           required              = True,
138                                           filters               = [include("gles3-master-2020-03-01.txt")],
139                                           runtime               = "1h50m"),
140                 Configuration(name                      = "master-2021-03-01",
141                                           glconfig              = "rgba8888d24s8ms0",
142                                           rotation              = "unspecified",
143                                           surfacetype   = "window",
144                                           required              = True,
145                                           filters               = MASTER_GLES3_COMMON_FILTERS + [exclude("gles3-master-2020-03-01.txt")],
146                                           runtime               = "10m"),
147                 # Rotations
148                 Configuration(name                      = "rotate-portrait",
149                                           glconfig              = "rgba8888d24s8ms0",
150                                           rotation              = "0",
151                                           surfacetype   = "window",
152                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
153                                           runtime               = "1m"),
154                 Configuration(name                      = "rotate-landscape",
155                                           glconfig              = "rgba8888d24s8ms0",
156                                           rotation              = "90",
157                                           surfacetype   = "window",
158                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
159                                           runtime               = "1m"),
160                 Configuration(name                      = "rotate-reverse-portrait",
161                                           glconfig              = "rgba8888d24s8ms0",
162                                           rotation              = "180",
163                                           surfacetype   = "window",
164                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
165                                           runtime               = "1m"),
166                 Configuration(name                      = "rotate-reverse-landscape",
167                                           glconfig              = "rgba8888d24s8ms0",
168                                           rotation              = "270",
169                                           surfacetype   = "window",
170                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-rotation.txt")],
171                                           runtime               = "1m"),
172
173                 # MSAA
174                 Configuration(name                      = "multisample",
175                                           glconfig              = "rgba8888d24s8ms4",
176                                           rotation              = "unspecified",
177                                           surfacetype   = "window",
178                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-multisample.txt"),
179                                                                                                                                          exclude("gles3-multisample-issues.txt")],
180                                           runtime               = "1m"),
181
182                 # Pixel format
183                 Configuration(name                      = "565-no-depth-no-stencil",
184                                           glconfig              = "rgb565d0s0ms0",
185                                           rotation              = "unspecified",
186                                           surfacetype   = "window",
187                                           filters               = MASTER_GLES3_COMMON_FILTERS + [include("gles3-pixelformat.txt"),
188                                                                                                                                          exclude("gles3-pixelformat-issues.txt")],
189                                           runtime               = "1m"),
190         ])
191
192 MASTER_GLES31_COMMON_FILTERS    = [
193                 include("gles31-master.txt"),
194                 exclude("gles31-hw-issues.txt"),
195                 exclude("gles31-driver-issues.txt"),
196                 exclude("gles31-test-issues.txt"),
197                 exclude("gles31-spec-issues.txt"),
198                 exclude("gles31-temp-excluded.txt"),
199         ]
200 MASTER_GLES31_PKG                               = Package(module = GLES31_MODULE, configurations = [
201                 # Master
202                 Configuration(name                      = "master",
203                                           glconfig              = "rgba8888d24s8ms0",
204                                           rotation              = "unspecified",
205                                           surfacetype   = "window",
206                                           required              = True,
207                                           filters               = MASTER_GLES31_COMMON_FILTERS,
208                                           runtime               = "1h40m",
209                                           runByDefault          = False),
210                 Configuration(name                      = "master-2020-03-01",
211                                           glconfig              = "rgba8888d24s8ms0",
212                                           rotation              = "unspecified",
213                                           surfacetype   = "window",
214                                           required              = True,
215                                           filters               = [include("gles31-master-2020-03-01.txt")],
216                                           runtime               = "1h40m"),
217                 Configuration(name                      = "master-2021-03-01",
218                                           glconfig              = "rgba8888d24s8ms0",
219                                           rotation              = "unspecified",
220                                           surfacetype   = "window",
221                                           required              = True,
222                                           filters               = MASTER_GLES31_COMMON_FILTERS + [exclude("gles31-master-2020-03-01.txt")],
223                                           runtime               = "10m"),
224
225                 # Rotations
226                 Configuration(name                      = "rotate-portrait",
227                                           glconfig              = "rgba8888d24s8ms0",
228                                           rotation              = "0",
229                                           surfacetype   = "window",
230                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
231                                           runtime               = "1m30s"),
232                 Configuration(name                      = "rotate-landscape",
233                                           glconfig              = "rgba8888d24s8ms0",
234                                           rotation              = "90",
235                                           surfacetype   = "window",
236                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
237                                           runtime               = "1m30s"),
238                 Configuration(name                      = "rotate-reverse-portrait",
239                                           glconfig              = "rgba8888d24s8ms0",
240                                           rotation              = "180",
241                                           surfacetype   = "window",
242                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
243                                           runtime               = "1m30s"),
244                 Configuration(name                      = "rotate-reverse-landscape",
245                                           glconfig              = "rgba8888d24s8ms0",
246                                           rotation              = "270",
247                                           surfacetype   = "window",
248                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-rotation.txt")],
249                                           runtime               = "1m30s"),
250
251                 # MSAA
252                 Configuration(name                      = "multisample",
253                                           glconfig              = "rgba8888d24s8ms4",
254                                           rotation              = "unspecified",
255                                           surfacetype   = "window",
256                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-multisample.txt")],
257                                           runtime               = "2m"),
258
259                 # Pixel format
260                 Configuration(name                      = "565-no-depth-no-stencil",
261                                           glconfig              = "rgb565d0s0ms0",
262                                           rotation              = "unspecified",
263                                           surfacetype   = "window",
264                                           filters               = MASTER_GLES31_COMMON_FILTERS + [include("gles31-pixelformat.txt")],
265                                           runtime               = "1m"),
266         ])
267
268 MASTER_VULKAN_FILTERS                   = [
269                 include("vk-master.txt"),
270                 exclude("vk-not-applicable.txt"),
271                 exclude("vk-excluded-tests.txt"),
272                 exclude("vk-test-issues.txt"),
273                 exclude("vk-waivers.txt"),
274                 exclude("vk-temp-excluded.txt"),
275         ]
276 MASTER_VULKAN_PKG                               = Package(module = VULKAN_MODULE, configurations = [
277                 Configuration(name                                      = "master",
278                                           filters                               = MASTER_VULKAN_FILTERS,
279                                           runtime                               = "2h39m",
280                                           runByDefault                  = False,
281                                           splitToMultipleFiles  = True),
282                 Configuration(name                                      = "master-2019-03-01",
283                                           filters                               = [include("vk-master-2019-03-01.txt")],
284                                           runtime                               = "2h29m",
285                                           splitToMultipleFiles  = True),
286                 Configuration(name                                      = "master-2020-03-01",
287                                           filters                               = [include("vk-master-2020-03-01.txt")],
288                                           runtime                               = "2h29m",
289                                           splitToMultipleFiles  = True),
290                 Configuration(name                                      = "master-2021-03-01",
291                                           filters                               = MASTER_VULKAN_FILTERS + [exclude("vk-master-2019-03-01.txt"), exclude("vk-master-2020-03-01.txt")],
292                                           runtime                               = "10m",
293                                           splitToMultipleFiles  = True),
294         ])
295
296 MUSTPASS_LISTS                          = [
297                 Mustpass(project = CTS_PROJECT, version = "master",             packages = [MASTER_EGL_PKG, MASTER_GLES2_PKG, MASTER_GLES3_PKG, MASTER_GLES31_PKG, MASTER_VULKAN_PKG])
298         ]
299
300 if __name__ == "__main__":
301         genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())