From fcc36f99ba1afc7baebe24e0c7429d2039d32d99 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sun, 24 Apr 2022 17:22:04 +0200 Subject: [PATCH] :arrow_up: cpplint 1.6.0 (#3454) --- third_party/cpplint/README.rst | 5 +---- third_party/cpplint/cpplint.py | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/third_party/cpplint/README.rst b/third_party/cpplint/README.rst index 18af13c00..9ff67c0eb 100644 --- a/third_party/cpplint/README.rst +++ b/third_party/cpplint/README.rst @@ -1,9 +1,6 @@ cpplint - static code checker for C++ ===================================== -.. image:: https://travis-ci.org/cpplint/cpplint.svg?branch=master - :target: https://travis-ci.org/cpplint/cpplint - .. image:: https://img.shields.io/pypi/v/cpplint.svg :target: https://pypi.python.org/pypi/cpplint @@ -62,7 +59,7 @@ The modifications in this fork are minor fixes and cosmetic changes, such as: * python 3 compatibility * more default file extensions * customizable file extensions with the --extensions argument -* continuous integration on travis +* continuous integration on github * support for recursive file discovery via the --recursive argument * support for excluding files via --exclude * JUnit XML output format diff --git a/third_party/cpplint/cpplint.py b/third_party/cpplint/cpplint.py index 3bf3441a3..6b78b308c 100755 --- a/third_party/cpplint/cpplint.py +++ b/third_party/cpplint/cpplint.py @@ -41,6 +41,11 @@ We do a small hack, which is to ignore //'s with "'s after them on the same line, but it is far from perfect (in either direction). """ +# cpplint predates fstrings +# pylint: disable=consider-using-f-string + +# pylint: disable=invalid-name + import codecs import copy import getopt @@ -59,7 +64,7 @@ import xml.etree.ElementTree # if empty, use defaults _valid_extensions = set([]) -__VERSION__ = '1.5.5' +__VERSION__ = '1.6.0' try: xrange # Python 2 @@ -1915,6 +1920,7 @@ class CleansedLines(object): self.raw_lines = lines self.num_lines = len(lines) self.lines_without_raw_strings = CleanseRawStrings(lines) + # # pylint: disable=consider-using-enumerate for linenum in range(len(self.lines_without_raw_strings)): self.lines.append(CleanseComments( self.lines_without_raw_strings[linenum])) @@ -5068,10 +5074,12 @@ def CheckIncludeLine(filename, clean_lines, linenum, include_state, error): # # We also make an exception for Lua headers, which follow google # naming convention but not the include convention. - match = Match(r'#include\s*"([^/]+\.h)"', line) - if match and not _THIRD_PARTY_HEADERS_PATTERN.match(match.group(1)): - error(filename, linenum, 'build/include_subdir', 4, - 'Include the directory when naming .h files') + match = Match(r'#include\s*"([^/]+\.(.*))"', line) + if match: + if (IsHeaderExtension(match.group(2)) and + not _THIRD_PARTY_HEADERS_PATTERN.match(match.group(1))): + error(filename, linenum, 'build/include_subdir', 4, + 'Include the directory when naming header files') # we shouldn't include a file more than once. actually, there are a # handful of instances where doing so is okay, but in general it's @@ -6523,7 +6531,7 @@ def ProcessConfigOverrides(filename): continue try: - with open(cfg_file) as file_handle: + with open(cfg_file, encoding='utf-8') as file_handle: for line in file_handle: line, _, _ = line.partition('#') # Remove comments. if not line.strip():