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): | ||||
|             exc = excinfo.value | ||||
|             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): | ||||
|         if hasattr(self, "fspath"): | ||||
|  |  | |||
|  | @ -11,6 +11,7 @@ import py | |||
| 
 | ||||
| import pytest | ||||
| from _pytest.main import _in_venv | ||||
| from _pytest.main import EXIT_INTERRUPTED | ||||
| from _pytest.main import EXIT_NOTESTSCOLLECTED | ||||
| from _pytest.main import Session | ||||
| 
 | ||||
|  | @ -1234,3 +1235,20 @@ def test_collect_sub_with_symlinks(use_pkg, testdir): | |||
|             "*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