##// END OF EJS Templates
pyflakes: ignore files marked no-check-code
pyflakes: ignore files marked no-check-code

File last commit:

r14209:08d84bdc default
r14209:08d84bdc default
Show More
filterpyflakes.py
38 lines | 1.0 KiB | text/x-python | PythonLexer
/ tests / filterpyflakes.py
timeless
tests: add pyflakes checking for unused imports
r14140 #!/usr/bin/env python
# Filter output by pyflakes to control which warnings we check
Augie Fackler
pyflakes: ignore files marked no-check-code
r14209 import sys, re, os
timeless
tests: add pyflakes checking for unused imports
r14140
timeless
test-pyflake: improve sorting algorithm
r14173 def makekey(message):
# "path/file:line: message"
match = re.search(r"(line \d+)", message)
line = ''
if match:
line = match.group(0)
message = re.sub(r"(line \d+)", '', message)
return re.sub(r"([^:]*):([^:]+):([^']*)('[^']*')(.*)$",
r'\3:\5:\4:\1:\2:' + line,
message)
lines = []
timeless
tests: add pyflakes checking for unused imports
r14140 for line in sys.stdin:
# We whitelist tests
timeless
tests: add pyflakes checking for assigned to but never used
r14175 pats = [
r"imported but unused",
r"local variable '.*' is assigned to but never used",
timeless
test: add pyflakes checking for unable to detect undefined names
r14176 r"unable to detect undefined names",
timeless
tests: add pyflakes checking for assigned to but never used
r14175 ]
if not re.search('|'.join(pats), line):
timeless
tests: add pyflakes checking for unused imports
r14140 continue
Augie Fackler
pyflakes: ignore files marked no-check-code
r14209 fn = line.split(':', 1)[0]
f = open(os.path.join(os.path.dirname(os.path.dirname(__file__)), fn))
data = f.read()
f.close()
if 'no-check-code' in data:
continue
timeless
test-pyflake: improve sorting algorithm
r14173 lines.append(line)
for line in sorted(lines, key = makekey):
timeless
tests: add pyflakes checking for unused imports
r14140 sys.stdout.write(line)
print