Merge "Remove EGL gles1.rgb565_window from mustpass" into oc-dev am: 840e33e440
[platform/upstream/VK-GL-CTS.git] / scripts / verify / package.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 from fnmatch import fnmatch
25
26 STATEMENT_PATTERN       = "STATEMENT-*"
27 TEST_LOG_PATTERN        = "*.qpa"
28 GIT_STATUS_PATTERN      = "*git-status.txt"
29 GIT_LOG_PATTERN         = "*git-log.txt"
30 PATCH_PATTERN           = "*.patch"
31 SUMMARY_PATTERN         = "cts-run-summary.xml"
32
33 class PackageDescription:
34         def __init__ (self, basePath, statement, testLogs, gitStatus, gitLog, patches, summary, conformVersion, conformOs, otherItems):
35                 self.basePath           = basePath
36                 self.statement          = statement
37                 self.testLogs           = testLogs
38                 self.gitStatus          = gitStatus
39                 self.gitLog                     = gitLog
40                 self.patches            = patches
41                 self.summary            = summary
42                 self.otherItems         = otherItems
43                 self.conformVersion     = conformVersion
44                 self.conformOs          = conformOs
45
46 def getPackageDescription (packagePath):
47         allItems        = os.listdir(packagePath)
48         statement       = None
49         testLogs        = []
50         gitStatus       = []
51         gitLog          = []
52         patches         = []
53         summary         = None
54         otherItems      = []
55         conformVersion  = None
56         conformOs               = None
57
58         for item in allItems:
59                 if fnmatch(item, STATEMENT_PATTERN):
60                         assert statement == None
61                         statement = item
62                 elif fnmatch(item, TEST_LOG_PATTERN):
63                         testLogs.append(item)
64                 elif fnmatch(item, GIT_STATUS_PATTERN):
65                         gitStatus.append(item)
66                 elif fnmatch(item, GIT_LOG_PATTERN):
67                         gitLog.append((item, '.'))
68                 elif fnmatch(item, PATCH_PATTERN):
69                         patches.append(item)
70                 elif fnmatch(item, SUMMARY_PATTERN):
71                         assert summary == None
72                         summary = item
73                 else:
74                         otherItems.append(item)
75
76         return PackageDescription(packagePath, statement, testLogs, gitStatus, gitLog, patches, summary, conformVersion, conformOs, otherItems)