From 52e4a3b67f07ad6417e5647cef066466c8a983db Mon Sep 17 00:00:00 2001 From: "brett.cannon" Date: Tue, 14 Aug 2007 05:51:06 +0000 Subject: [PATCH] Remove test.test_support.guard_warnings_filter. test.test_support.catch_warning is more full-featured and provides the same functionality. Since guard_warnings_filter was added in 2.6 there is no backwards-compatibility issues. git-svn-id: http://svn.python.org/projects/python/trunk@57007 6015fed2-1504-0410-9fe1-9d1591cc4771 --- Doc/lib/libtest.tex | 6 ------ Lib/test/test_exceptions.py | 4 ++-- Lib/test/test_import.py | 4 ++-- Lib/test/test_pep352.py | 14 +++++++------- Lib/test/test_random.py | 2 +- Lib/test/test_re.py | 4 ++-- Lib/test/test_struct.py | 2 +- Lib/test/test_sundry.py | 4 ++-- Lib/test/test_support.py | 8 -------- Lib/test/test_warnings.py | 2 +- 10 files changed, 18 insertions(+), 32 deletions(-) diff --git a/Doc/lib/libtest.tex b/Doc/lib/libtest.tex index 5e185fa9c4..2e3bb61c64 100644 --- a/Doc/lib/libtest.tex +++ b/Doc/lib/libtest.tex @@ -265,12 +265,6 @@ If no match is found \var{filename} is returned. This does not equal a failure since it could be the path to the file. \end{funcdesc} -\begin{funcdesc}{guard_warnings_filter}{} -Returns a context manager that guards the \module{warnings} module's -filter settings. -\versionadded{2.6} -\end{funcdesc} - \begin{funcdesc}{run_unittest}{*classes} Execute \class{unittest.TestCase} subclasses passed to the function. The function scans the classes for methods starting with the prefix diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py index 1f7105eaec..657cbc5327 100644 --- a/Lib/test/test_exceptions.py +++ b/Lib/test/test_exceptions.py @@ -6,7 +6,7 @@ import unittest import pickle, cPickle from test.test_support import (TESTFN, unlink, run_unittest, - guard_warnings_filter) + catch_warning) from test.test_pep352 import ignore_message_warning # XXX This is not really enough, each *operation* should be tested! @@ -274,7 +274,7 @@ class ExceptionTests(unittest.TestCase): except NameError: pass - with guard_warnings_filter(): + with catch_warning(): ignore_message_warning() for exc, args, expected in exceptionList: try: diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py index a061a4093a..a805534cef 100644 --- a/Lib/test/test_import.py +++ b/Lib/test/test_import.py @@ -1,4 +1,4 @@ -from test.test_support import TESTFN, run_unittest, guard_warnings_filter +from test.test_support import TESTFN, run_unittest, catch_warning import unittest import os @@ -215,7 +215,7 @@ class ImportTest(unittest.TestCase): self.assert_(y is test.test_support, y.__name__) def test_import_initless_directory_warning(self): - with guard_warnings_filter(): + with catch_warning(): # Just a random non-package directory we always expect to be # somewhere in sys.path... warnings.simplefilter('error', ImportWarning) diff --git a/Lib/test/test_pep352.py b/Lib/test/test_pep352.py index 89b2fdc84d..1867b9ed63 100644 --- a/Lib/test/test_pep352.py +++ b/Lib/test/test_pep352.py @@ -2,7 +2,7 @@ import unittest import __builtin__ import exceptions import warnings -from test.test_support import run_unittest, guard_warnings_filter +from test.test_support import run_unittest, catch_warning import os from platform import system as platform_system @@ -22,7 +22,7 @@ class ExceptionClassTests(unittest.TestCase): self.failUnless(issubclass(Exception, object)) def verify_instance_interface(self, ins): - with guard_warnings_filter(): + with catch_warning(): ignore_message_warning() for attr in ("args", "message", "__str__", "__repr__", "__getitem__"): @@ -95,7 +95,7 @@ class ExceptionClassTests(unittest.TestCase): # Make sure interface works properly when given a single argument arg = "spam" exc = Exception(arg) - with guard_warnings_filter(): + with catch_warning(): ignore_message_warning() results = ([len(exc.args), 1], [exc.args[0], arg], [exc.message, arg], @@ -109,7 +109,7 @@ class ExceptionClassTests(unittest.TestCase): arg_count = 3 args = tuple(range(arg_count)) exc = Exception(*args) - with guard_warnings_filter(): + with catch_warning(): ignore_message_warning() results = ([len(exc.args), arg_count], [exc.args, args], [exc.message, ''], [str(exc), str(args)], @@ -121,7 +121,7 @@ class ExceptionClassTests(unittest.TestCase): def test_interface_no_arg(self): # Make sure that with no args that interface is correct exc = Exception() - with guard_warnings_filter(): + with catch_warning(): ignore_message_warning() results = ([len(exc.args), 0], [exc.args, tuple()], [exc.message, ''], @@ -132,7 +132,7 @@ class ExceptionClassTests(unittest.TestCase): def test_message_deprecation(self): # As of Python 2.6, BaseException.message is deprecated. - with guard_warnings_filter(): + with catch_warning(): warnings.resetwarnings() warnings.filterwarnings('error') @@ -219,7 +219,7 @@ class UsageTests(unittest.TestCase): def test_catch_string(self): # Catching a string should trigger a DeprecationWarning. - with guard_warnings_filter(): + with catch_warning(): warnings.resetwarnings() warnings.filterwarnings("error") str_exc = "spam" diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py index 77bccf6793..29fe42a030 100644 --- a/Lib/test/test_random.py +++ b/Lib/test/test_random.py @@ -178,7 +178,7 @@ class WichmannHill_TestBasicOps(TestBasicOps): def test_bigrand(self): # Verify warnings are raised when randrange is too large for random() - with test_support.guard_warnings_filter(): + with test_support.catch_warning(): warnings.filterwarnings("error", "Underlying random") self.assertRaises(UserWarning, self.gen.randrange, 2**60) diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py index eca5fbb3a6..cfb949c4e3 100644 --- a/Lib/test/test_re.py +++ b/Lib/test/test_re.py @@ -1,7 +1,7 @@ import sys sys.path = ['.'] + sys.path -from test.test_support import verbose, run_unittest, guard_warnings_filter +from test.test_support import verbose, run_unittest, catch_warning import re from re import Scanner import sys, os, traceback @@ -416,7 +416,7 @@ class ReTests(unittest.TestCase): self.pickle_test(cPickle) # old pickles expect the _compile() reconstructor in sre module import warnings - with guard_warnings_filter(): + with catch_warning(): warnings.filterwarnings("ignore", "The sre module is deprecated", DeprecationWarning) from sre import _compile diff --git a/Lib/test/test_struct.py b/Lib/test/test_struct.py index ea3a5187cf..925308d46a 100644 --- a/Lib/test/test_struct.py +++ b/Lib/test/test_struct.py @@ -50,7 +50,7 @@ def any_err(func, *args): def with_warning_restore(func): def _with_warning_restore(*args, **kw): - with test.test_support.guard_warnings_filter(): + with test.test_support.catch_warning(): # Grrr, we need this function to warn every time. Without removing # the warningregistry, running test_tarfile then test_struct would fail # on 64-bit platforms. diff --git a/Lib/test/test_sundry.py b/Lib/test/test_sundry.py index e71852bea0..7609385bc7 100644 --- a/Lib/test/test_sundry.py +++ b/Lib/test/test_sundry.py @@ -1,10 +1,10 @@ """Do a minimal test of all the modules that aren't otherwise tested.""" -from test.test_support import guard_warnings_filter +from test.test_support import catch_warning import sys import warnings -with guard_warnings_filter(): +with catch_warning(): warnings.filterwarnings('ignore', r".*posixfile", DeprecationWarning) warnings.filterwarnings('ignore', r".*mimify", DeprecationWarning) diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py index 52f74f54a4..0f960845f6 100644 --- a/Lib/test/test_support.py +++ b/Lib/test/test_support.py @@ -271,14 +271,6 @@ def open_urlresource(url): fn, _ = urllib.urlretrieve(url, filename) return open(fn) -@contextlib.contextmanager -def guard_warnings_filter(): - """Guard the warnings filter from being permanently changed.""" - original_filters = warnings.filters[:] - try: - yield - finally: - warnings.filters = original_filters class WarningMessage(object): "Holds the result of the latest showwarning() call" diff --git a/Lib/test/test_warnings.py b/Lib/test/test_warnings.py index 283806f0ea..cca632997b 100644 --- a/Lib/test/test_warnings.py +++ b/Lib/test/test_warnings.py @@ -61,7 +61,7 @@ class TestModule(unittest.TestCase): def test_options(self): # Uses the private _setoption() function to test the parsing # of command-line warning arguments - with test_support.guard_warnings_filter(): + with test_support.catch_warning(): self.assertRaises(warnings._OptionError, warnings._setoption, '1:2:3:4:5:6') self.assertRaises(warnings._OptionError, -- 2.11.4.GIT