parent
							
								
									a295a3ddaf
								
							
						
					
					
						commit
						7183335e62
					
				|  | @ -0,0 +1 @@ | ||||||
|  | Warnings issued during ``pytest_configure`` are explicitly not treated as errors, even if configured as such, because it otherwise completely breaks pytest. | ||||||
|  | @ -642,6 +642,8 @@ class Config: | ||||||
|     def _do_configure(self): |     def _do_configure(self): | ||||||
|         assert not self._configured |         assert not self._configured | ||||||
|         self._configured = True |         self._configured = True | ||||||
|  |         with warnings.catch_warnings(): | ||||||
|  |             warnings.simplefilter("default") | ||||||
|             self.hook.pytest_configure.call_historic(kwargs=dict(config=self)) |             self.hook.pytest_configure.call_historic(kwargs=dict(config=self)) | ||||||
| 
 | 
 | ||||||
|     def _ensure_unconfigure(self): |     def _ensure_unconfigure(self): | ||||||
|  |  | ||||||
|  | @ -645,3 +645,21 @@ def test_group_warnings_by_message(testdir): | ||||||
|     warning_code = 'warnings.warn(UserWarning("foo"))' |     warning_code = 'warnings.warn(UserWarning("foo"))' | ||||||
|     assert warning_code in result.stdout.str() |     assert warning_code in result.stdout.str() | ||||||
|     assert result.stdout.str().count(warning_code) == 1 |     assert result.stdout.str().count(warning_code) == 1 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def test_pytest_configure_warning(testdir, recwarn): | ||||||
|  |     """Issue 5115.""" | ||||||
|  |     testdir.makeconftest( | ||||||
|  |         """ | ||||||
|  |         def pytest_configure(): | ||||||
|  |             import warnings | ||||||
|  | 
 | ||||||
|  |             warnings.warn("from pytest_configure") | ||||||
|  |         """ | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  |     result = testdir.runpytest() | ||||||
|  |     assert result.ret == 5 | ||||||
|  |     assert "INTERNALERROR" not in result.stderr.str() | ||||||
|  |     warning = recwarn.pop() | ||||||
|  |     assert str(warning.message) == "from pytest_configure" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue