Rename CTS "build" Python module to "ctsbuild"
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / scripts / build_mustpass.py
1 # -*- coding: utf-8 -*-
2
3 #-------------------------------------------------------------------------
4 # Vulkan CTS
5 # ----------
6 #
7 # Copyright (c) 2016 Google Inc.
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 import os
24 import sys
25
26 sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts"))
27
28 from ctsbuild.common import DEQP_DIR
29 from ctsbuild.config import ANY_GENERATOR
30 from build_caselists import Module, getModuleByName, getBuildConfig, DEFAULT_BUILD_DIR, DEFAULT_TARGET
31 from mustpass import Project, Package, Mustpass, Configuration, include, exclude, genMustpassLists, parseBuildConfigFromCmdLineArgs
32
33 COPYRIGHT_DECLARATION = """
34          Licensed under the Apache License, Version 2.0 (the "License");
35          you may not use this file except in compliance with the License.
36          You may obtain a copy of the License at
37
38                   http://www.apache.org/licenses/LICENSE-2.0
39
40          Unless required by applicable law or agreed to in writing, software
41          distributed under the License is distributed on an "AS IS" BASIS,
42          WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
43          See the License for the specific language governing permissions and
44          limitations under the License.
45          """
46
47 MUSTPASS_PATH           = os.path.join(DEQP_DIR, "external", "vulkancts", "mustpass")
48 PROJECT                         = Project(path = MUSTPASS_PATH, copyright = COPYRIGHT_DECLARATION)
49 VULKAN_MODULE           = getModuleByName("dEQP-VK")
50 VULKAN_SC_MODULE        = getModuleByName("dEQP-VKSC")
51 BUILD_CONFIG            = getBuildConfig(DEFAULT_BUILD_DIR, DEFAULT_TARGET, "Debug")
52
53 # main
54
55 VULKAN_MAIN_PKG = Package(module = VULKAN_MODULE, configurations = [
56                   # Master
57                   Configuration(name                                    = "default",
58                                                 filters                                 = [include("master.txt"),
59                                                                                                    exclude("test-issues.txt"),
60                                                                                                    exclude("excluded-tests.txt"),
61                                                                                                    exclude("android-tests.txt")],
62                                                 listOfGroupsToSplit             = ["dEQP-VK", "dEQP-VK.pipeline"]),
63                   Configuration(name                                    = "fraction-mandatory-tests",
64                                                 filters                                 = [include("fraction-mandatory-tests.txt")]),
65          ])
66
67 VULKAN_SC_MAIN_PKG      = Package(module = VULKAN_SC_MODULE, configurations = [
68                   # Master
69                   Configuration(name                                    = "default",
70                                                 filters                                 = [include("master_sc.txt"),
71                                                                                                    exclude("android-tests-sc.txt")],
72                                                 listOfGroupsToSplit             = ["dEQP-VKSC"]),
73         ])
74
75 MUSTPASS_LISTS          = [
76                   Mustpass(project = PROJECT,   version = "main",       packages = [VULKAN_MAIN_PKG, VULKAN_SC_MAIN_PKG]),
77         ]
78
79 if __name__ == "__main__":
80         genMustpassLists(MUSTPASS_LISTS, ANY_GENERATOR, parseBuildConfigFromCmdLineArgs())