##// END OF EJS Templates
convert: fix crash when existing converted revision didn't come from source...
convert: fix crash when existing converted revision didn't come from source This case can happen when converting from multiple repositories with filemap.

File last commit:

r19381:e033a7d4 default
r19863:daeab82f default
Show More
filterpyflakes.py
51 lines | 1.5 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
Simon Heimberg
tests: simplify and document the sorting of pyflake messages...
r19335 def makekey(typeandline):
"""
for sorting lines by: msgtype, path/to/file, lineno, message
typeandline is a sequence of a message type and the entire message line
the message line format is path/to/file:line: message
>>> makekey((3, 'example.py:36: any message'))
(3, 'example.py', 36, ' any message')
>>> makekey((7, 'path/to/file.py:68: dummy message'))
(7, 'path/to/file.py', 68, ' dummy message')
>>> makekey((2, 'fn:88: m')) > makekey((2, 'fn:9: m'))
True
"""
msgtype, line = typeandline
fname, line, message = line.split(":", 2)
# line as int for ordering 9 before 88
return msgtype, fname, int(line), message
timeless
test-pyflake: improve sorting algorithm
r14173
lines = []
timeless
tests: add pyflakes checking for unused imports
r14140 for line in sys.stdin:
Simon Heimberg
tests: simplify and document the sorting of pyflake messages...
r19335 # We whitelist tests (see more messages in pyflakes.messages)
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 ]
Simon Heimberg
tests: simplify and document the sorting of pyflake messages...
r19335 for msgtype, pat in enumerate(pats):
if re.search(pat, line):
break # pattern matches
else:
continue # no pattern matched, next line
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()
Simon Heimberg
tests: do not skip code-checking on some whole files...
r19381 if 'no-' 'check-code' in data:
Augie Fackler
pyflakes: ignore files marked no-check-code
r14209 continue
Simon Heimberg
tests: simplify and document the sorting of pyflake messages...
r19335 lines.append((msgtype, line))
timeless
test-pyflake: improve sorting algorithm
r14173
Simon Heimberg
tests: simplify and document the sorting of pyflake messages...
r19335 for msgtype, line in sorted(lines, key = makekey):
timeless
tests: add pyflakes checking for unused imports
r14140 sys.stdout.write(line)
print