##// END OF EJS Templates
smartset: use native set operations as fast paths...
smartset: use native set operations as fast paths For set operations like "&" and "-", where we know both basesets have their sets ready, and the first set is sorted, use the native Python set operations as a fast path. Note: "+" is not optimized as that will break the ordering. This leads to noticeable improvements on performance: revset | before | after | delta ---------------------------------------------------------------- draft() & draft() & draft() & draft() | 776 | 477 | -39% draft() + draft() + draft() + draft() | 2849 | 2864 | draft() - draft() + draft() - draft() | 943 | 240 | -75% draft() - draft() - draft() - draft() | 557 | 197 | -64% (time measured in microseconds)

File last commit:

r30421:21772a6a default
r31020:2d1bf840 default
Show More
filterpyflakes.py
39 lines | 890 B | 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
Robert Stanca
py3: use print_function in filterpyflakes.py
r28724 from __future__ import absolute_import, print_function
Gregory Szorc
tests/filterpyflakes: use absolute_import
r27285
import re
import sys
timeless
tests: add pyflakes checking for unused imports
r14140
timeless
test-pyflake: improve sorting algorithm
r14173 lines = []
timeless
tests: add pyflakes checking for unused imports
r14140 for line in sys.stdin:
Augie Fackler
filterpyflakes: dramatically simplify the entire thing by blacklisting...
r30421 # We blacklist tests that are too noisy for us
timeless
tests: add pyflakes checking for assigned to but never used
r14175 pats = [
Augie Fackler
filterpyflakes: dramatically simplify the entire thing by blacklisting...
r30421 r"undefined name '(WindowsError|memoryview)'",
r"redefinition of unused '[^']+' from line",
]
Matt Mackall
filterpyflakes: make memoryview filtering unconditional
r21293
Augie Fackler
filterpyflakes: dramatically simplify the entire thing by blacklisting...
r30421 keep = True
for pat in pats:
if re.search(pat, line):
keep = False
Simon Heimberg
tests: simplify and document the sorting of pyflake messages...
r19335 break # pattern matches
Augie Fackler
filterpyflakes: dramatically simplify the entire thing by blacklisting...
r30421 if keep:
fn = line.split(':', 1)[0]
f = open(fn)
data = f.read()
f.close()
if 'no-' 'check-code' in data:
continue
lines.append(line)
timeless
test-pyflake: improve sorting algorithm
r14173
Augie Fackler
filterpyflakes: dramatically simplify the entire thing by blacklisting...
r30421 for line in lines:
timeless
tests: add pyflakes checking for unused imports
r14140 sys.stdout.write(line)
Robert Stanca
py3: use print_function in filterpyflakes.py
r28724 print()
FUJIWARA Katsunori
tests: ignore "undefined name 'memoryview'" pyflakes error on earlier Python...
r21271
# self test of "undefined name" detection for other than 'memoryview'
if False:
Augie Fackler
filterpyflakes: dramatically simplify the entire thing by blacklisting...
r30421 print(memoryview)
Robert Stanca
py3: use print_function in filterpyflakes.py
r28724 print(undefinedname)