implement and naively test the native traceback style

--HG--
branch : trunk
This commit is contained in:
Ronny Pfannschmidt 2010-09-08 12:00:36 +02:00
parent c17bb32f70
commit 2b59200786
3 changed files with 19 additions and 2 deletions

View File

@ -354,9 +354,17 @@ class ExceptionInfo(object):
abspath=False, tbfilter=True, funcargs=False):
""" return str()able representation of this exception info.
showlocals: show locals per traceback entry
style: long|short|no traceback style
style: long|short|no|native traceback style
tbfilter: hide entries (where __tracebackhide__ is true)
"""
if style == 'native':
import traceback
return ''.join(traceback.format_exception(
self.type,
self.value,
self.traceback[0]._rawentry,
))
fmt = FormattedExcinfo(showlocals=showlocals, style=style,
abspath=abspath, tbfilter=tbfilter, funcargs=funcargs)
return fmt.repr_excinfo(self)

View File

@ -22,7 +22,7 @@ def pytest_addoption(parser):
help="(deprecated, use -r)")
group._addoption('--tb', metavar="style",
action="store", dest="tbstyle", default='long',
type="choice", choices=['long', 'short', 'no', 'line'],
type="choice", choices=['long', 'short', 'no', 'line', 'native'],
help="traceback print mode (long/short/line/no).")
group._addoption('--fulltrace',
action="store_true", dest="fulltrace", default=False,

View File

@ -700,3 +700,12 @@ raise ValueError()
repr = excinfo.getrepr(**reproptions)
repr.toterminal(tw)
assert tw.stringio.getvalue()
def test_native_style(self):
excinfo = self.excinfo_from_exec("""
assert 0
""")
repr = excinfo.getrepr(style='native')
assert repr.startswith('Traceback (most recent call last):\n File')
assert repr.endswith('\n assert 0\nAssertionError: assert 0\n')