##// 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
/ tests / filtertraceback.py
Gregory Szorc
global: use python3 in shebangs...
r46434 #!/usr/bin/env python3
Gregory Szorc
hgweb: log error before attempting I/O...
r41603
# Filters traceback lines from stdin.
Gregory Szorc
tests: force \n newlines when writing to sys.stdout...
r45142 import io
Gregory Szorc
hgweb: log error before attempting I/O...
r41603 import sys
Gregory Szorc
tests: force \n newlines when writing to sys.stdout...
r45142 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,
)
Gregory Szorc
hgweb: log error before attempting I/O...
r41603 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'
av6
tests: filter out PEP 657 error locations in tracebacks (issue6780)...
r50764 elif not line.replace('^', '').replace('~', '').strip():
# PEP 657: Fine-grained error locations in tracebacks
# ~~~~~~^^^^^^^^^
continue
Gregory Szorc
hgweb: log error before attempting I/O...
r41603 elif state == 'file':
# Ignore lines after " File "
state = 'tb'
continue
print(line, end='')