Refactoring doctests
This commit is contained in:
		
							parent
							
								
									3c9b46f781
								
							
						
					
					
						commit
						bf39e89946
					
				|  | @ -364,30 +364,27 @@ def _patch_unwrap_mock_aware(): | |||
|     contextmanager which replaces ``inspect.unwrap`` with a version | ||||
|     that's aware of mock objects and doesn't recurse on them | ||||
|     """ | ||||
|     real_unwrap = getattr(inspect, "unwrap", None) | ||||
|     if real_unwrap is None: | ||||
|         yield | ||||
|     else: | ||||
|     real_unwrap = inspect.unwrap | ||||
| 
 | ||||
|         def _mock_aware_unwrap(obj, stop=None): | ||||
|             try: | ||||
|                 if stop is None or stop is _is_mocked: | ||||
|                     return real_unwrap(obj, stop=_is_mocked) | ||||
|                 return real_unwrap(obj, stop=lambda obj: _is_mocked(obj) or stop(obj)) | ||||
|             except Exception as e: | ||||
|                 warnings.warn( | ||||
|                     "Got %r when unwrapping %r.  This is usually caused " | ||||
|                     "by a violation of Python's object protocol; see e.g. " | ||||
|                     "https://github.com/pytest-dev/pytest/issues/5080" % (e, obj), | ||||
|                     PytestWarning, | ||||
|                 ) | ||||
|                 raise | ||||
| 
 | ||||
|         inspect.unwrap = _mock_aware_unwrap | ||||
|     def _mock_aware_unwrap(obj, stop=None): | ||||
|         try: | ||||
|             yield | ||||
|         finally: | ||||
|             inspect.unwrap = real_unwrap | ||||
|             if stop is None or stop is _is_mocked: | ||||
|                 return real_unwrap(obj, stop=_is_mocked) | ||||
|             return real_unwrap(obj, stop=lambda obj: _is_mocked(obj) or stop(obj)) | ||||
|         except Exception as e: | ||||
|             warnings.warn( | ||||
|                 "Got %r when unwrapping %r.  This is usually caused " | ||||
|                 "by a violation of Python's object protocol; see e.g. " | ||||
|                 "https://github.com/pytest-dev/pytest/issues/5080" % (e, obj), | ||||
|                 PytestWarning, | ||||
|             ) | ||||
|             raise | ||||
| 
 | ||||
|     inspect.unwrap = _mock_aware_unwrap | ||||
|     try: | ||||
|         yield | ||||
|     finally: | ||||
|         inspect.unwrap = real_unwrap | ||||
| 
 | ||||
| 
 | ||||
| class DoctestModule(pytest.Module): | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue