CollectError.repr_failure: honor explicit tbstyle option
This commit is contained in:
		
							parent
							
								
									15d608867d
								
							
						
					
					
						commit
						de44293d59
					
				|  | @ -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