mirror of https://github.com/python/cpython
deprecated_err(): Stop bizarre warning messages when the tests
are run in the order: test_genexps (or any other doctest-based test) test_struct test_doctest The `warnings` module needs an advertised way to save/restore its internal filter list.
This commit is contained in:
parent
6067f20172
commit
aba19bc45f
|
@ -50,8 +50,12 @@ def any_err(func, *args):
|
|||
func.__name__, args)
|
||||
|
||||
def deprecated_err(func, *args):
|
||||
# The `warnings` module doesn't have an advertised way to restore
|
||||
# its filter list. Cheat.
|
||||
save_warnings_filters = warnings.filters[:]
|
||||
warnings.filterwarnings("error", r"""^struct.*""", DeprecationWarning)
|
||||
warnings.filterwarnings("error", r""".*format requires.*""", DeprecationWarning)
|
||||
warnings.filterwarnings("error", r""".*format requires.*""",
|
||||
DeprecationWarning)
|
||||
try:
|
||||
try:
|
||||
func(*args)
|
||||
|
@ -65,7 +69,7 @@ def deprecated_err(func, *args):
|
|||
raise TestFailed, "%s%s did not raise error" % (
|
||||
func.__name__, args)
|
||||
finally:
|
||||
warnings.resetwarnings()
|
||||
warnings.filters[:] = save_warnings_filters[:]
|
||||
|
||||
simple_err(struct.calcsize, 'Z')
|
||||
|
||||
|
|
Loading…
Reference in New Issue