util: added line length and boolean comparison style checkers
Added checkers for line length and boolean comparisons (== true/== false) to the style script.
This commit is contained in:
parent
5592798865
commit
2728f7bd81
1 changed files with 42 additions and 6 deletions
|
@ -404,12 +404,6 @@ class SortedIncludes(Verifier):
|
||||||
f.write('\n')
|
f.write('\n')
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
# list of all verifier classes
|
|
||||||
all_verifiers = [
|
|
||||||
Whitespace,
|
|
||||||
ControlSpace,
|
|
||||||
SortedIncludes
|
|
||||||
]
|
|
||||||
|
|
||||||
def linelen(line):
|
def linelen(line):
|
||||||
tabs = line.count('\t')
|
tabs = line.count('\t')
|
||||||
|
@ -425,6 +419,48 @@ def linelen(line):
|
||||||
|
|
||||||
return count
|
return count
|
||||||
|
|
||||||
|
class LineLength(Verifier):
|
||||||
|
languages = set(('C', 'C++', 'swig', 'python', 'asm', 'isa', 'scons'))
|
||||||
|
test_name = 'line length'
|
||||||
|
opt_name = 'length'
|
||||||
|
|
||||||
|
def check_line(self, line):
|
||||||
|
return linelen(line) <= 78
|
||||||
|
|
||||||
|
def fix(self, filename, regions=all_regions):
|
||||||
|
self.write("Warning: cannot automatically fix overly long lines.\n")
|
||||||
|
|
||||||
|
|
||||||
|
class BoolCompare(Verifier):
|
||||||
|
languages = set(('C', 'C++', 'python'))
|
||||||
|
test_name = 'boolean comparison'
|
||||||
|
opt_name = 'boolcomp'
|
||||||
|
|
||||||
|
regex = re.compile(r'\s*==\s*([Tt]rue|[Ff]alse)\b')
|
||||||
|
|
||||||
|
def check_line(self, line):
|
||||||
|
return self.regex.search(line) == None
|
||||||
|
|
||||||
|
def fix_line(self, line):
|
||||||
|
match = self.regex.search(line)
|
||||||
|
if match:
|
||||||
|
if match.group(1) in ('true', 'True'):
|
||||||
|
line = self.regex.sub('', line)
|
||||||
|
else:
|
||||||
|
self.write("Warning: cannot automatically fix "
|
||||||
|
"comparisons with false/False.\n")
|
||||||
|
return line
|
||||||
|
|
||||||
|
|
||||||
|
# list of all verifier classes
|
||||||
|
all_verifiers = [
|
||||||
|
Whitespace,
|
||||||
|
ControlSpace,
|
||||||
|
LineLength,
|
||||||
|
BoolCompare,
|
||||||
|
SortedIncludes
|
||||||
|
]
|
||||||
|
|
||||||
class ValidationStats(object):
|
class ValidationStats(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.toolong = 0
|
self.toolong = 0
|
||||||
|
|
Loading…
Reference in a new issue