Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
[platform/upstream/VK-GL-CTS.git] / scripts / src_util / check_all.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 import  sys
24 from    argparse                                import  ArgumentParser
25 from    common                                  import  getChangedFiles, getAllProjectFiles
26 from    check_include_guards    import  checkIncludeGuards
27 from    check_whitespace                import  checkWhitespace
28 from    check_license                   import  checkLicense
29 from    check_boms                              import  checkBOMs
30
31 if __name__ == "__main__":
32         parser = ArgumentParser()
33         parser.add_argument("-e",       "--only-errors",        action="store_true",    dest="onlyErrors",              default=False,  help="Print only on error")
34         parser.add_argument("-i",       "--only-changed",       action="store_true",    dest="useGitIndex",             default=False,  help="Check only modified files. Uses git.")
35         parser.add_argument("-b",       "--fix-bom",            action="store_true",    dest="fixBOMs",                 default=False,  help="Attempt to fix BOMs")
36
37         args = parser.parse_args()
38
39         if args.useGitIndex:
40                 files = getChangedFiles()
41         else:
42                 files = getAllProjectFiles()
43
44         error = not all([
45                 checkBOMs(files, args.fixBOMs),
46                 checkWhitespace(files),
47                 checkIncludeGuards(files),
48                 checkLicense(files),
49                 #todo checkRedundantIncludeGuards(files),
50                 ])
51
52         if      error:
53                 print   "One or more checks failed"
54                 sys.exit(1)
55         if      not     args.onlyErrors:
56                 print   "All checks passed"