Merge pull request #4987 from blueyed/collect-tbstyle-repr_failure
CollectError.repr_failure: honor explicit tbstyle option
This commit is contained in:
commit
02188e399d
|
@ -0,0 +1 @@
|
||||||
|
``Collector.repr_failure`` respects ``--tbstyle``, but only defaults to ``short`` now (with ``auto``).
|
|
@ -325,7 +325,14 @@ class Collector(Node):
|
||||||
if excinfo.errisinstance(self.CollectError):
|
if excinfo.errisinstance(self.CollectError):
|
||||||
exc = excinfo.value
|
exc = excinfo.value
|
||||||
return str(exc.args[0])
|
return str(exc.args[0])
|
||||||
return self._repr_failure_py(excinfo, style="short")
|
|
||||||
|
# Respect explicit tbstyle option, but default to "short"
|
||||||
|
# (None._repr_failure_py defaults to "long" without "fulltrace" option).
|
||||||
|
tbstyle = self.config.getoption("tbstyle")
|
||||||
|
if tbstyle == "auto":
|
||||||
|
tbstyle = "short"
|
||||||
|
|
||||||
|
return self._repr_failure_py(excinfo, style=tbstyle)
|
||||||
|
|
||||||
def _prunetraceback(self, excinfo):
|
def _prunetraceback(self, excinfo):
|
||||||
if hasattr(self, "fspath"):
|
if hasattr(self, "fspath"):
|
||||||
|
|
|
@ -11,6 +11,7 @@ import py
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from _pytest.main import _in_venv
|
from _pytest.main import _in_venv
|
||||||
|
from _pytest.main import EXIT_INTERRUPTED
|
||||||
from _pytest.main import EXIT_NOTESTSCOLLECTED
|
from _pytest.main import EXIT_NOTESTSCOLLECTED
|
||||||
from _pytest.main import Session
|
from _pytest.main import Session
|
||||||
|
|
||||||
|
@ -1234,3 +1235,20 @@ def test_collect_sub_with_symlinks(use_pkg, testdir):
|
||||||
"*2 passed in*",
|
"*2 passed in*",
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_collector_respects_tbstyle(testdir):
|
||||||
|
p1 = testdir.makepyfile("assert 0")
|
||||||
|
result = testdir.runpytest(p1, "--tb=native")
|
||||||
|
assert result.ret == EXIT_INTERRUPTED
|
||||||
|
result.stdout.fnmatch_lines(
|
||||||
|
[
|
||||||
|
"*_ ERROR collecting test_collector_respects_tbstyle.py _*",
|
||||||
|
"Traceback (most recent call last):",
|
||||||
|
' File "*/test_collector_respects_tbstyle.py", line 1, in <module>',
|
||||||
|
" assert 0",
|
||||||
|
"AssertionError: assert 0",
|
||||||
|
"*! Interrupted: 1 errors during collection !*",
|
||||||
|
"*= 1 error in *",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in New Issue