##// END OF EJS Templates
log: make --patch --follow work inside a subdirectory...
log: make --patch --follow work inside a subdirectory Previously, the 'patch' code for hg log --patch --follow would try to resolve patterns relative to the repository root rather than the current working directory. Fix that by using match.files instead of pats, as done elsewhere nearby.

File last commit:

r21294:1ae3cd6f default
r21876:584bbfd1 stable
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
Mads Kiilerich
check-code: check for spaces around = for named parameters
r19872 for msgtype, line in sorted(lines, key=makekey):
timeless
tests: add pyflakes checking for unused imports
r14140 sys.stdout.write(line)
print