Fixes #653 use deprecated_call as context_manager

This commit is contained in:
Galaczi Endre
2015-09-21 14:18:29 +01:00
parent c30eafa254
commit beaa8e55bd
5 changed files with 29 additions and 1 deletions
+10 -1
View File
@@ -28,9 +28,18 @@ def pytest_namespace():
'warns': warns}
def deprecated_call(func, *args, **kwargs):
def deprecated_call(func=None, *args, **kwargs):
"""Assert that ``func(*args, **kwargs)`` triggers a DeprecationWarning.
This function can be used as a context manager::
>>> with deprecated_call():
... myobject.deprecated_method()
"""
if not func:
warnings.simplefilter('always')
return WarningsChecker(expected_warning=DeprecationWarning)
wrec = WarningsRecorder()
with wrec:
warnings.simplefilter('always') # ensure all warnings are triggered