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
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!
except NameError:
pass
- with guard_warnings_filter():
+ with catch_warning():
ignore_message_warning()
for exc, args, expected in exceptionList:
try:
-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
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)
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
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__"):
# 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],
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)],
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, ''],
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')
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"
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)
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
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
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.
"""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)
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"
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,