##// END OF EJS Templates
tests: use pyflakes as a tool, not a python module...
tests: use pyflakes as a tool, not a python module The usage of pyflakes as a Python module was introduced in e397c6d74652, to work around issue between Python 2 and Python 3. This issues are long behind us now and we can get beck to using pyflakes as a tool, giving us more flexibility about how we install it. The `hghave` requirements is modified to check that we have a tool available, instead of a python module.

File last commit:

r50764:fe044ce4 stable
r52956:43602c67 default
Show More
filtertraceback.py
44 lines | 1004 B | text/x-python | PythonLexer
#!/usr/bin/env python3
# Filters traceback lines from stdin.
import io
import sys
if sys.version_info[0] >= 3:
# Prevent \r from being inserted on Windows.
sys.stdout = io.TextIOWrapper(
sys.stdout.buffer,
sys.stdout.encoding,
sys.stdout.errors,
newline="\n",
line_buffering=sys.stdout.line_buffering,
)
state = 'none'
for line in sys.stdin:
if state == 'none':
if line.startswith('Traceback '):
state = 'tb'
elif state == 'tb':
if line.startswith(' File '):
state = 'file'
continue
elif not line.startswith(' '):
state = 'none'
elif not line.replace('^', '').replace('~', '').strip():
# PEP 657: Fine-grained error locations in tracebacks
# ~~~~~~^^^^^^^^^
continue
elif state == 'file':
# Ignore lines after " File "
state = 'tb'
continue
print(line, end='')