nodes: fix tracebacks from collection errors are not getting pruned (#11711)
Fix #11710.
This commit is contained in:
		
							parent
							
								
									640f84a5aa
								
							
						
					
					
						commit
						d220880924
					
				|  | @ -0,0 +1 @@ | ||||||
|  | Fixed tracebacks from collection errors not getting pruned. | ||||||
|  | @ -579,7 +579,7 @@ class Collector(Node, abc.ABC): | ||||||
|             ntraceback = traceback.cut(path=self.path) |             ntraceback = traceback.cut(path=self.path) | ||||||
|             if ntraceback == traceback: |             if ntraceback == traceback: | ||||||
|                 ntraceback = ntraceback.cut(excludepath=tracebackcutdir) |                 ntraceback = ntraceback.cut(excludepath=tracebackcutdir) | ||||||
|             return excinfo.traceback.filter(excinfo) |             return ntraceback.filter(excinfo) | ||||||
|         return excinfo.traceback |         return excinfo.traceback | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -345,6 +345,29 @@ class TestPrunetraceback: | ||||||
|         result = pytester.runpytest(p) |         result = pytester.runpytest(p) | ||||||
|         result.stdout.fnmatch_lines(["*ERROR collecting*", "*header1*"]) |         result.stdout.fnmatch_lines(["*ERROR collecting*", "*header1*"]) | ||||||
| 
 | 
 | ||||||
|  |     def test_collection_error_traceback_is_clean(self, pytester: Pytester) -> None: | ||||||
|  |         """When a collection error occurs, the report traceback doesn't contain | ||||||
|  |         internal pytest stack entries. | ||||||
|  | 
 | ||||||
|  |         Issue #11710. | ||||||
|  |         """ | ||||||
|  |         pytester.makepyfile( | ||||||
|  |             """ | ||||||
|  |             raise Exception("LOUSY") | ||||||
|  |             """ | ||||||
|  |         ) | ||||||
|  |         result = pytester.runpytest() | ||||||
|  |         result.stdout.fnmatch_lines( | ||||||
|  |             [ | ||||||
|  |                 "*ERROR collecting*", | ||||||
|  |                 "test_*.py:1: in <module>", | ||||||
|  |                 '    raise Exception("LOUSY")', | ||||||
|  |                 "E   Exception: LOUSY", | ||||||
|  |                 "*= short test summary info =*", | ||||||
|  |             ], | ||||||
|  |             consecutive=True, | ||||||
|  |         ) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class TestCustomConftests: | class TestCustomConftests: | ||||||
|     def test_ignore_collect_path(self, pytester: Pytester) -> None: |     def test_ignore_collect_path(self, pytester: Pytester) -> None: | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue