From a6864e0d9f1fc06c50db36ed913ac48a3d2ddde5 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Mon, 14 Jul 2008 17:42:17 +0000 Subject: fix test_py3kwarns The fact that this was failing and went unnoticed so long seems like a good argument for being able to enable and disble py3kwarnings through Python. --- Lib/mimetools.py | 3 +- Lib/plat-mac/Audio_mac.py | 2 +- Lib/plat-mac/Carbon/__init__.py | 2 +- Lib/plat-mac/EasyDialogs.py | 2 +- Lib/plat-mac/FrameWork.py | 2 +- Lib/plat-mac/MiniAEFrame.py | 2 +- Lib/plat-mac/PixMapWrapper.py | 2 +- Lib/plat-mac/aepack.py | 2 +- Lib/plat-mac/aetools.py | 2 +- Lib/plat-mac/aetypes.py | 2 +- Lib/plat-mac/applesingle.py | 2 +- Lib/plat-mac/appletrawmain.py | 2 +- Lib/plat-mac/appletrunner.py | 2 +- Lib/plat-mac/argvemulator.py | 2 +- Lib/plat-mac/bgenlocations.py | 2 +- Lib/plat-mac/buildtools.py | 4 +-- Lib/plat-mac/bundlebuilder.py | 2 +- Lib/plat-mac/cfmfile.py | 4 +-- Lib/plat-mac/findertools.py | 2 +- Lib/plat-mac/gensuitemodule.py | 2 +- Lib/plat-mac/ic.py | 2 +- Lib/plat-mac/icopen.py | 2 +- .../lib-scriptpackages/CodeWarrior/__init__.py | 2 +- .../lib-scriptpackages/Explorer/__init__.py | 2 +- Lib/plat-mac/lib-scriptpackages/Finder/__init__.py | 2 +- .../lib-scriptpackages/Netscape/__init__.py | 2 +- .../lib-scriptpackages/StdSuites/__init__.py | 2 +- .../lib-scriptpackages/SystemEvents/__init__.py | 2 +- .../lib-scriptpackages/Terminal/__init__.py | 2 +- .../lib-scriptpackages/_builtinSuites/__init__.py | 2 +- Lib/plat-mac/macerrors.py | 2 +- Lib/plat-mac/macostools.py | 2 +- Lib/plat-mac/macresource.py | 2 +- Lib/plat-mac/pimp.py | 2 +- Lib/plat-mac/terminalcommand.py | 2 +- Lib/plat-mac/videoreader.py | 2 +- Lib/rfc822.py | 3 +- Lib/test/test_py3kwarn.py | 37 +++++++++++----------- 38 files changed, 60 insertions(+), 57 deletions(-) diff --git a/Lib/mimetools.py b/Lib/mimetools.py index 5dd5396..02963b5 100644 --- a/Lib/mimetools.py +++ b/Lib/mimetools.py @@ -6,7 +6,8 @@ import rfc822 import tempfile from warnings import warnpy3k -warnpy3k("in 3.x, mimetools has been removed in favor of the email package") +warnpy3k("in 3.x, mimetools has been removed in favor of the email package", + stacklevel=2) __all__ = ["Message","choose_boundary","encode","decode","copyliteral", "copybinary"] diff --git a/Lib/plat-mac/Audio_mac.py b/Lib/plat-mac/Audio_mac.py index 3c8a74c..ddf2a1c 100644 --- a/Lib/plat-mac/Audio_mac.py +++ b/Lib/plat-mac/Audio_mac.py @@ -2,7 +2,7 @@ QSIZE = 100000 error='Audio_mac.error' from warnings import warnpy3k -warnpy3k("In 3.x, the Play_Audio_mac module is removed.") +warnpy3k("In 3.x, the Play_Audio_mac module is removed.", stacklevel=2) class Play_Audio_mac: diff --git a/Lib/plat-mac/Carbon/__init__.py b/Lib/plat-mac/Carbon/__init__.py index 664dcec..6739bbd 100644 --- a/Lib/plat-mac/Carbon/__init__.py +++ b/Lib/plat-mac/Carbon/__init__.py @@ -4,4 +4,4 @@ warnings.filterwarnings("ignore", "", FutureWarning, ".*Controls") warnings.filterwarnings("ignore", "", FutureWarning, ".*MacTextEditor") from warnings import warnpy3k -warnpy3k("In 3.x, Carbon is removed.") +warnpy3k("In 3.x, Carbon is removed.", stacklevel=2) diff --git a/Lib/plat-mac/EasyDialogs.py b/Lib/plat-mac/EasyDialogs.py index f3d7e78..4c64839 100644 --- a/Lib/plat-mac/EasyDialogs.py +++ b/Lib/plat-mac/EasyDialogs.py @@ -19,7 +19,7 @@ Based upon STDWIN dialogs with the same names and functions. """ from warnings import warnpy3k -warnpy3k("In 3.x, the EasyDialogs module is removed.") +warnpy3k("In 3.x, the EasyDialogs module is removed.", stacklevel=2) from Carbon.Dlg import GetNewDialog, SetDialogItemText, GetDialogItemText, ModalDialog from Carbon import Qd diff --git a/Lib/plat-mac/FrameWork.py b/Lib/plat-mac/FrameWork.py index 75588a6..69401dd 100644 --- a/Lib/plat-mac/FrameWork.py +++ b/Lib/plat-mac/FrameWork.py @@ -3,7 +3,7 @@ DEBUG=0 from warnings import warnpy3k -warnpy3k("In 3.x, the FrameWork module is removed.") +warnpy3k("In 3.x, the FrameWork module is removed.", stacklevel=2) import MacOS import traceback diff --git a/Lib/plat-mac/MiniAEFrame.py b/Lib/plat-mac/MiniAEFrame.py index 7d2d5f5..8d758c3 100644 --- a/Lib/plat-mac/MiniAEFrame.py +++ b/Lib/plat-mac/MiniAEFrame.py @@ -7,7 +7,7 @@ There are two classes: """ from warnings import warnpy3k -warnpy3k("In 3.x, the MiniAEFrame module is removed.") +warnpy3k("In 3.x, the MiniAEFrame module is removed.", stacklevel=2) import traceback import MacOS diff --git a/Lib/plat-mac/PixMapWrapper.py b/Lib/plat-mac/PixMapWrapper.py index 45cb5f9..5ce3043 100644 --- a/Lib/plat-mac/PixMapWrapper.py +++ b/Lib/plat-mac/PixMapWrapper.py @@ -7,7 +7,7 @@ J. Strout February 1999""" from warnings import warnpy3k -warnpy3k("In 3.x, the PixMapWrapper module is removed.") +warnpy3k("In 3.x, the PixMapWrapper module is removed.", stacklevel=2) from Carbon import Qd from Carbon import QuickDraw diff --git a/Lib/plat-mac/aepack.py b/Lib/plat-mac/aepack.py index b849c9d..3b31b04 100644 --- a/Lib/plat-mac/aepack.py +++ b/Lib/plat-mac/aepack.py @@ -13,7 +13,7 @@ coerce(x, wanted_sample) coerces a python object to another python object # from warnings import warnpy3k -warnpy3k("In 3.x, the aepack module is removed.") +warnpy3k("In 3.x, the aepack module is removed.", stacklevel=2) import struct import types diff --git a/Lib/plat-mac/aetools.py b/Lib/plat-mac/aetools.py index 9618b81..bf27663 100644 --- a/Lib/plat-mac/aetools.py +++ b/Lib/plat-mac/aetools.py @@ -22,7 +22,7 @@ files: the pack stuff from aepack, the objects from aetypes. from warnings import warnpy3k -warnpy3k("In 3.x, the aetools module is removed.") +warnpy3k("In 3.x, the aetools module is removed.", stacklevel=2) from types import * from Carbon import AE diff --git a/Lib/plat-mac/aetypes.py b/Lib/plat-mac/aetypes.py index c6c9026..5e3555e 100644 --- a/Lib/plat-mac/aetypes.py +++ b/Lib/plat-mac/aetypes.py @@ -1,7 +1,7 @@ """aetypes - Python objects representing various AE types.""" from warnings import warnpy3k -warnpy3k("In 3.x, the aetypes module is removed.") +warnpy3k("In 3.x, the aetypes module is removed.", stacklevel=2) from Carbon.AppleEvents import * import struct diff --git a/Lib/plat-mac/applesingle.py b/Lib/plat-mac/applesingle.py index 0e2cf91..f6c605f 100644 --- a/Lib/plat-mac/applesingle.py +++ b/Lib/plat-mac/applesingle.py @@ -2,7 +2,7 @@ r"""Routines to decode AppleSingle files """ from warnings import warnpy3k -warnpy3k("In 3.x, the applesingle module is removed.") +warnpy3k("In 3.x, the applesingle module is removed.", stacklevel=2) import struct import sys diff --git a/Lib/plat-mac/appletrawmain.py b/Lib/plat-mac/appletrawmain.py index 7fc51d8..c863486 100644 --- a/Lib/plat-mac/appletrawmain.py +++ b/Lib/plat-mac/appletrawmain.py @@ -6,7 +6,7 @@ # from warnings import warnpy3k -warnpy3k("In 3.x, the appletrawmain module is removed.") +warnpy3k("In 3.x, the appletrawmain module is removed.", stacklevel=2) import argvemulator import os diff --git a/Lib/plat-mac/appletrunner.py b/Lib/plat-mac/appletrunner.py index b47fa42..a2373aa 100755 --- a/Lib/plat-mac/appletrunner.py +++ b/Lib/plat-mac/appletrunner.py @@ -4,7 +4,7 @@ # we are not running in a framework build. from warnings import warnpy3k -warnpy3k("In 3.x, appletrunner is removed.") +warnpy3k("In 3.x, appletrunner is removed.", stacklevel=2) import os import sys diff --git a/Lib/plat-mac/argvemulator.py b/Lib/plat-mac/argvemulator.py index 1bc5da6..3dfc9f8 100644 --- a/Lib/plat-mac/argvemulator.py +++ b/Lib/plat-mac/argvemulator.py @@ -3,7 +3,7 @@ want unix-style arguments. """ from warnings import warnpy3k -warnpy3k("In 3.x, the argvemulator module is removed.") +warnpy3k("In 3.x, the argvemulator module is removed.", stacklevel=2) import sys import traceback diff --git a/Lib/plat-mac/bgenlocations.py b/Lib/plat-mac/bgenlocations.py index 7643e4b..38f4159 100644 --- a/Lib/plat-mac/bgenlocations.py +++ b/Lib/plat-mac/bgenlocations.py @@ -8,7 +8,7 @@ import os from warnings import warnpy3k -warnpy3k("In 3.x, the bgenlocations module is removed.") +warnpy3k("In 3.x, the bgenlocations module is removed.", stacklevel=2) Error = "bgenlocations.Error" # diff --git a/Lib/plat-mac/buildtools.py b/Lib/plat-mac/buildtools.py index 0081e65..3480226 100644 --- a/Lib/plat-mac/buildtools.py +++ b/Lib/plat-mac/buildtools.py @@ -1,8 +1,8 @@ """tools for BuildApplet and BuildApplication""" import warnings -warnings.warn("the buildtools module is deprecated and is removed in 3.0", - DeprecationWarning, 2) +warnings.warnpy3k("the buildtools module is deprecated and is removed in 3.0", + stacklevel=2) import sys import os diff --git a/Lib/plat-mac/bundlebuilder.py b/Lib/plat-mac/bundlebuilder.py index 46c17df..f0c7fc2 100755 --- a/Lib/plat-mac/bundlebuilder.py +++ b/Lib/plat-mac/bundlebuilder.py @@ -29,7 +29,7 @@ __all__ = ["BundleBuilder", "BundleBuilderError", "AppBuilder", "buildapp"] from warnings import warnpy3k -warnpy3k("In 3.x, the bundlebuilder module is removed.") +warnpy3k("In 3.x, the bundlebuilder module is removed.", stacklevel=2) import sys import os, errno, shutil diff --git a/Lib/plat-mac/cfmfile.py b/Lib/plat-mac/cfmfile.py index 309af87..ddbd468 100644 --- a/Lib/plat-mac/cfmfile.py +++ b/Lib/plat-mac/cfmfile.py @@ -6,8 +6,8 @@ __version__ = "0.8b3" __author__ = "jvr" import warnings -warnings.warn("the cfmfile module is deprecated and is removed in 3,0", - DeprecationWarning, 2) +warnings.warnpy3k("the cfmfile module is deprecated and is removed in 3,0", + stacklevel=2) import Carbon.File import struct diff --git a/Lib/plat-mac/findertools.py b/Lib/plat-mac/findertools.py index 038ee09..56e7980 100644 --- a/Lib/plat-mac/findertools.py +++ b/Lib/plat-mac/findertools.py @@ -16,7 +16,7 @@ Mostly written by erik@letterror.com """ from warnings import warnpy3k -warnpy3k("In 3.x, the findertools module is removed.") +warnpy3k("In 3.x, the findertools module is removed.", stacklevel=2) import Finder from Carbon import AppleEvents diff --git a/Lib/plat-mac/gensuitemodule.py b/Lib/plat-mac/gensuitemodule.py index c92d1eb..28ebea6 100644 --- a/Lib/plat-mac/gensuitemodule.py +++ b/Lib/plat-mac/gensuitemodule.py @@ -7,7 +7,7 @@ Reading and understanding this code is left as an exercise to the reader. """ from warnings import warnpy3k -warnpy3k("In 3.x, the gensuitemodule module is removed.") +warnpy3k("In 3.x, the gensuitemodule module is removed.", stacklevel=2) import MacOS import EasyDialogs diff --git a/Lib/plat-mac/ic.py b/Lib/plat-mac/ic.py index beb8226..8337f2d 100644 --- a/Lib/plat-mac/ic.py +++ b/Lib/plat-mac/ic.py @@ -1,7 +1,7 @@ """IC wrapper module, based on Internet Config 1.3""" from warnings import warnpy3k -warnpy3k("In 3.x, the ic module is removed.") +warnpy3k("In 3.x, the ic module is removed.", stacklevel=2) import icglue import string diff --git a/Lib/plat-mac/icopen.py b/Lib/plat-mac/icopen.py index 7b8e8f3..941dbb6 100644 --- a/Lib/plat-mac/icopen.py +++ b/Lib/plat-mac/icopen.py @@ -38,7 +38,7 @@ effect. """ from warnings import warnpy3k -warnpy3k("In 3.x, the icopen module is removed.") +warnpy3k("In 3.x, the icopen module is removed.", stacklevel=2) import __builtin__ diff --git a/Lib/plat-mac/lib-scriptpackages/CodeWarrior/__init__.py b/Lib/plat-mac/lib-scriptpackages/CodeWarrior/__init__.py index 89583d3..38e3350 100644 --- a/Lib/plat-mac/lib-scriptpackages/CodeWarrior/__init__.py +++ b/Lib/plat-mac/lib-scriptpackages/CodeWarrior/__init__.py @@ -3,7 +3,7 @@ Package generated from /Volumes/Sap/Applications (Mac OS 9)/Metrowerks CodeWarri """ from warnings import warnpy3k -warnpy3k("In 3.x, the CodeWarrior package is removed.") +warnpy3k("In 3.x, the CodeWarrior package is removed.", stacklevel=2) import aetools Error = aetools.Error diff --git a/Lib/plat-mac/lib-scriptpackages/Explorer/__init__.py b/Lib/plat-mac/lib-scriptpackages/Explorer/__init__.py index 8e9438a..967bc0e 100644 --- a/Lib/plat-mac/lib-scriptpackages/Explorer/__init__.py +++ b/Lib/plat-mac/lib-scriptpackages/Explorer/__init__.py @@ -3,7 +3,7 @@ Package generated from /Applications/Internet Explorer.app """ from warnings import warnpy3k -warnpy3k("In 3.x, the Explorer module is removed.") +warnpy3k("In 3.x, the Explorer module is removed.", stacklevel=2) import aetools Error = aetools.Error diff --git a/Lib/plat-mac/lib-scriptpackages/Finder/__init__.py b/Lib/plat-mac/lib-scriptpackages/Finder/__init__.py index 8c9b026..84d178d 100644 --- a/Lib/plat-mac/lib-scriptpackages/Finder/__init__.py +++ b/Lib/plat-mac/lib-scriptpackages/Finder/__init__.py @@ -3,7 +3,7 @@ Package generated from /System/Library/CoreServices/Finder.app """ from warnings import warnpy3k -warnpy3k("In 3.x, the Finder package is removed.") +warnpy3k("In 3.x, the Finder package is removed.", stacklevel=2) import aetools Error = aetools.Error diff --git a/Lib/plat-mac/lib-scriptpackages/Netscape/__init__.py b/Lib/plat-mac/lib-scriptpackages/Netscape/__init__.py index 7f0dfe2..802f18a 100644 --- a/Lib/plat-mac/lib-scriptpackages/Netscape/__init__.py +++ b/Lib/plat-mac/lib-scriptpackages/Netscape/__init__.py @@ -3,7 +3,7 @@ Package generated from /Volumes/Sap/Applications (Mac OS 9)/Netscape Communicato """ from warnings import warnpy3k -warnpy3k("In 3.x, the Netscape package is removed.") +warnpy3k("In 3.x, the Netscape package is removed.", stacklevel=2) import aetools Error = aetools.Error diff --git a/Lib/plat-mac/lib-scriptpackages/StdSuites/__init__.py b/Lib/plat-mac/lib-scriptpackages/StdSuites/__init__.py index 15e03ec..b96055d 100644 --- a/Lib/plat-mac/lib-scriptpackages/StdSuites/__init__.py +++ b/Lib/plat-mac/lib-scriptpackages/StdSuites/__init__.py @@ -4,7 +4,7 @@ Resource aeut resid 0 Standard Event Suites for English """ from warnings import warnpy3k -warnpy3k("In 3.x, the StdSuites package is removed.") +warnpy3k("In 3.x, the StdSuites package is removed.", stacklevel=2) import aetools Error = aetools.Error diff --git a/Lib/plat-mac/lib-scriptpackages/SystemEvents/__init__.py b/Lib/plat-mac/lib-scriptpackages/SystemEvents/__init__.py index 8029224..80ce28e 100644 --- a/Lib/plat-mac/lib-scriptpackages/SystemEvents/__init__.py +++ b/Lib/plat-mac/lib-scriptpackages/SystemEvents/__init__.py @@ -3,7 +3,7 @@ Package generated from /System/Library/CoreServices/System Events.app """ from warnings import warnpy3k -warnpy3k("In 3.x, the SystemEvents package is removed.") +warnpy3k("In 3.x, the SystemEvents package is removed.", stacklevel=2) import aetools Error = aetools.Error diff --git a/Lib/plat-mac/lib-scriptpackages/Terminal/__init__.py b/Lib/plat-mac/lib-scriptpackages/Terminal/__init__.py index 5aa8a1e..00330b9 100644 --- a/Lib/plat-mac/lib-scriptpackages/Terminal/__init__.py +++ b/Lib/plat-mac/lib-scriptpackages/Terminal/__init__.py @@ -3,7 +3,7 @@ Package generated from /Applications/Utilities/Terminal.app """ from warnings import warnpy3k -warnpy3k("In 3.x, the Terminal module is removed.") +warnpy3k("In 3.x, the Terminal module is removed.", stacklevel=2) import aetools Error = aetools.Error diff --git a/Lib/plat-mac/lib-scriptpackages/_builtinSuites/__init__.py b/Lib/plat-mac/lib-scriptpackages/_builtinSuites/__init__.py index 5061204..b675b98 100644 --- a/Lib/plat-mac/lib-scriptpackages/_builtinSuites/__init__.py +++ b/Lib/plat-mac/lib-scriptpackages/_builtinSuites/__init__.py @@ -6,7 +6,7 @@ in the Standard suite. """ from warnings import warnpy3k -warnpy3k("In 3.x, the _builtinSuites module is removed.") +warnpy3k("In 3.x, the _builtinSuites module is removed.", stacklevel=2) import aetools import builtin_Suite diff --git a/Lib/plat-mac/macerrors.py b/Lib/plat-mac/macerrors.py index 9629a0f..de1c1e2 100644 --- a/Lib/plat-mac/macerrors.py +++ b/Lib/plat-mac/macerrors.py @@ -1,7 +1,7 @@ # -coding=latin1- from warnings import warnpy3k -warnpy3k("In 3.x, the macerrors module is removed.") +warnpy3k("In 3.x, the macerrors module is removed.", stacklevel=2) svTempDisable = -32768 #svTempDisable svDisabled = -32640 #Reserve range -32640 to -32768 for Apple temp disables. diff --git a/Lib/plat-mac/macostools.py b/Lib/plat-mac/macostools.py index 643ba67..d7724fa 100644 --- a/Lib/plat-mac/macostools.py +++ b/Lib/plat-mac/macostools.py @@ -5,7 +5,7 @@ copy(src, dst) - Full copy of 'src' to 'dst' """ from warnings import warnpy3k -warnpy3k("In 3.x, the macostools module is removed.") +warnpy3k("In 3.x, the macostools module is removed.", stacklevel=2) from Carbon import Res from Carbon import File, Files diff --git a/Lib/plat-mac/macresource.py b/Lib/plat-mac/macresource.py index 0a66d76..f02453b 100644 --- a/Lib/plat-mac/macresource.py +++ b/Lib/plat-mac/macresource.py @@ -1,7 +1,7 @@ """macresource - Locate and open the resources needed for a script.""" from warnings import warnpy3k -warnpy3k("In 3.x, the macresource module is removed.") +warnpy3k("In 3.x, the macresource module is removed.", stacklevel=2) from Carbon import Res import os diff --git a/Lib/plat-mac/pimp.py b/Lib/plat-mac/pimp.py index b3138bd..5fc16f0 100644 --- a/Lib/plat-mac/pimp.py +++ b/Lib/plat-mac/pimp.py @@ -14,7 +14,7 @@ intention is that the end user will use this through a GUI. """ from warnings import warnpy3k -warnpy3k("In 3.x, the pimp module is removed.") +warnpy3k("In 3.x, the pimp module is removed.", stacklevel=2) import sys import os diff --git a/Lib/plat-mac/terminalcommand.py b/Lib/plat-mac/terminalcommand.py index 238781a..ef8cb6c 100644 --- a/Lib/plat-mac/terminalcommand.py +++ b/Lib/plat-mac/terminalcommand.py @@ -15,7 +15,7 @@ with a decent input/output window. # from warnings import warnpy3k -warnpy3k("In 3.x, the terminalcommand module is removed.") +warnpy3k("In 3.x, the terminalcommand module is removed.", stacklevel=2) import time import os diff --git a/Lib/plat-mac/videoreader.py b/Lib/plat-mac/videoreader.py index 43027d4..fbb37e1 100644 --- a/Lib/plat-mac/videoreader.py +++ b/Lib/plat-mac/videoreader.py @@ -7,7 +7,7 @@ # from warnings import warnpy3k -warnpy3k("In 3.x, the videoreader module is removed.") +warnpy3k("In 3.x, the videoreader module is removed.", stacklevel=2) import sys diff --git a/Lib/rfc822.py b/Lib/rfc822.py index 4382a51..64cd702 100644 --- a/Lib/rfc822.py +++ b/Lib/rfc822.py @@ -74,7 +74,8 @@ There are also some utility functions here. import time from warnings import warnpy3k -warnpy3k("in 3.x, rfc822 has been removed in favor of the email package") +warnpy3k("in 3.x, rfc822 has been removed in favor of the email package", + stacklevel=2) __all__ = ["Message","AddressList","parsedate","parsedate_tz","mktime_tz"] diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py index 0d01572..0ddc979 100644 --- a/Lib/test/test_py3kwarn.py +++ b/Lib/test/test_py3kwarn.py @@ -4,6 +4,8 @@ from test.test_support import (catch_warning, CleanImport, TestSkipped, run_unittest) import warnings +from contextlib import nested + if not sys.py3kwarning: raise TestSkipped('%s must be run with the -3 flag' % __name__) @@ -193,7 +195,7 @@ class TestStdlibRemovals(unittest.TestCase): 'Explorer', 'Finder', 'Netscape', 'StdSuites', 'SystemEvents', 'Terminal', 'cfmfile', 'bundlebuilder', 'buildtools', - 'ColorPicker'), + 'ColorPicker', 'Audio_mac'), 'sunos5' : ('sunaudiodev', 'SUNAUDIODEV'), } optional_modules = ('bsddb185', 'Canvas', 'dl', 'linuxaudiodev', 'imageop', @@ -202,23 +204,22 @@ class TestStdlibRemovals(unittest.TestCase): def check_removal(self, module_name, optional=False): """Make sure the specified module, when imported, raises a DeprecationWarning and specifies itself in the message.""" - with CleanImport(module_name): - with catch_warning(record=False): - warnings.filterwarnings("error", ".+ removed", - DeprecationWarning) - try: - __import__(module_name, level=0) - except DeprecationWarning as exc: - self.assert_(module_name in exc.args[0], - "%s warning didn't contain module name" - % module_name) - except ImportError: - if not optional: - self.fail("Non-optional module {0} raised an " - "ImportError.".format(module_name)) - else: - self.fail("DeprecationWarning not raised for {0}" - .format(module_name)) + with nested(CleanImport(module_name), catch_warning(record=False)): + warnings.filterwarnings("error", ".+ removed", + DeprecationWarning, __name__) + try: + __import__(module_name, level=0) + except DeprecationWarning as exc: + self.assert_(module_name in exc.args[0], + "%s warning didn't contain module name" + % module_name) + except ImportError: + if not optional: + self.fail("Non-optional module {0} raised an " + "ImportError.".format(module_name)) + else: + self.fail("DeprecationWarning not raised for {0}" + .format(module_name)) def test_platform_independent_removals(self): # Make sure that the modules that are available on all platforms raise -- cgit v0.12