Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
authorAlexander Galazin <alexander.galazin@arm.com>
Fri, 21 Dec 2018 15:16:09 +0000 (16:16 +0100)
committerAlexander Galazin <alexander.galazin@arm.com>
Fri, 21 Dec 2018 15:16:09 +0000 (16:16 +0100)
Change-Id: Ie0a15653a8e00e8dc4acb07c0371dad770c5ee9f

1  2 
scripts/src_util/check_invalid_literals.py

index 8f7f79e9143d4c85546739230897a4a6b731650c,0000000000000000000000000000000000000000..1fd762beda9c8218c24a6af204dee56f1ef55d9d
mode 100644,000000..100644
--- /dev/null
@@@ -1,106 -1,0 +1,108 @@@
 +# -*- coding: utf-8 -*-
 +
 +#-------------------------------------------------------------------------
 +# drawElements Quality Program utilities
 +# --------------------------------------
 +#
 +# Copyright (c) 2017 The Khronos Group Inc.
 +#
 +# Licensed under the Apache License, Version 2.0 (the "License");
 +# you may not use this file except in compliance with the License.
 +# You may obtain a copy of the License at
 +#
 +#      http://www.apache.org/licenses/LICENSE-2.0
 +#
 +# Unless required by applicable law or agreed to in writing, software
 +# distributed under the License is distributed on an "AS IS" BASIS,
 +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +# See the License for the specific language governing permissions and
 +# limitations under the License.
 +#
 +#-------------------------------------------------------------------------
 +
 +import os
 +import re
 +import sys
 +from argparse import ArgumentParser
 +from common import getChangedFiles, getAllProjectFiles, isTextFile
 +
 +CHECK_LITERAL_PATTERNS = [
 +      r'\b[us]*int[0-9]+_t\b',
 +      r'\b[U]*INT(_LEAST|_FAST|)[0-9]+_MAX\b',
++      r'\b0b',
 +]
 +
 +CHECK_LIST = [
 +      ".cpp",
 +      ".hpp",
 +      ".c",
 +      ".h",
 +]
 +
 +EXCLUSION_LIST = [
 +      "framework/delibs/debase/deDefs.h",
 +      "framework/platform/android/tcuAndroidPlatform.cpp",
 +      "framework/platform/android/tcuAndroidWindow.hpp",
 +      "framework/platform/android/tcuAndroidWindow.cpp",
 +      "framework/platform/lnx/X11/tcuLnxX11Xcb.cpp",
 +      "framework/platform/lnx/wayland/tcuLnxWayland.hpp",
 +      "framework/platform/lnx/wayland/tcuLnxWayland.cpp",
++      "framework/delibs/debase/deFloat16.c",
 +]
 +
 +def checkEnds(line, ends):
 +      return any(line.endswith(end) for end in ends)
 +
 +def checkFileInvalidLiterals (file):
 +      error = False
 +
 +      if checkEnds(file.replace("\\", "/"), CHECK_LIST) and not checkEnds(file.replace("\\", "/"), EXCLUSION_LIST):
 +              f = open(file, 'rb')
 +              for lineNum, line in enumerate(f):
 +                      # Remove inline comments
 +                      idx = line.find("//")
 +                      if idx > 0:
 +                              line = line[:idx]
 +                      # Remove text in quoted literals
 +                      if line.find("\"") > 0:
 +                              list = line.split('"')
 +                              del list[1::2]
 +                              line = ' '
 +                              line = line.join(list)
 +                      for pattern in CHECK_LITERAL_PATTERNS:
 +                              found = re.search(pattern, line)
 +                              if found is not None:
 +                                      error = True
 +                                      print "%s:%i Unacceptable type found (pattern:%s)" % (file, lineNum+1, pattern)
 +              f.close()
 +
 +      return not error
 +
 +def checkInvalidLiterals (files):
 +      error = False
 +      for file in files:
 +              if isTextFile(file):
 +                      if not checkFileInvalidLiterals(file):
 +                              error = True
 +
 +      return not error
 +
 +if __name__ == "__main__":
 +      parser = ArgumentParser()
 +      parser.add_argument("-e", "--only-errors",  action="store_true", dest="onlyErrors",   default=False, help="Print only on error")
 +      parser.add_argument("-i", "--only-changed", action="store_true", dest="useGitIndex",  default=False, help="Check only modified files. Uses git.")
 +
 +      args = parser.parse_args()
 +
 +      if args.useGitIndex:
 +              files = getChangedFiles()
 +      else:
 +              files = getAllProjectFiles()
 +
 +      error = not checkInvalidLiterals(files)
 +
 +      if error:
 +              print "One or more checks failed"
 +              sys.exit(1)
 +      if not args.onlyErrors:
 +              print "All checks passed"