Merge pull request #7244 from DahlitzFlorian/fix-issue-7150
Prevent hiding underlying exception when ConfTestImportFailure is raised
This commit is contained in:
		
						commit
						45f53266e6
					
				|  | @ -0,0 +1 @@ | |||
| Prevent hiding the underlying exception when ``ConfTestImportFailure`` is raised. | ||||
|  | @ -4,6 +4,7 @@ import functools | |||
| import sys | ||||
| 
 | ||||
| from _pytest import outcomes | ||||
| from _pytest.config import ConftestImportFailure | ||||
| from _pytest.config import hookimpl | ||||
| from _pytest.config.exceptions import UsageError | ||||
| 
 | ||||
|  | @ -338,6 +339,10 @@ def _postmortem_traceback(excinfo): | |||
|         # A doctest.UnexpectedException is not useful for post_mortem. | ||||
|         # Use the underlying exception instead: | ||||
|         return excinfo.value.exc_info[2] | ||||
|     elif isinstance(excinfo.value, ConftestImportFailure): | ||||
|         # A config.ConftestImportFailure is not useful for post_mortem. | ||||
|         # Use the underlying exception instead: | ||||
|         return excinfo.value.excinfo[2] | ||||
|     else: | ||||
|         return excinfo._excinfo[2] | ||||
| 
 | ||||
|  |  | |||
|  | @ -342,6 +342,15 @@ class TestPDB: | |||
|         child.sendeof() | ||||
|         self.flush(child) | ||||
| 
 | ||||
|     def test_pdb_prevent_ConftestImportFailure_hiding_exception(self, testdir): | ||||
|         testdir.makepyfile("def test_func(): pass") | ||||
|         sub_dir = testdir.tmpdir.join("ns").ensure_dir() | ||||
|         sub_dir.join("conftest").new(ext=".py").write("import unknown") | ||||
|         sub_dir.join("test_file").new(ext=".py").write("def test_func(): pass") | ||||
| 
 | ||||
|         result = testdir.runpytest_subprocess("--pdb", ".") | ||||
|         result.stdout.fnmatch_lines(["-> import unknown"]) | ||||
| 
 | ||||
|     def test_pdb_interaction_capturing_simple(self, testdir): | ||||
|         p1 = testdir.makepyfile( | ||||
|             """ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue