diff options
-rw-r--r-- | Lib/test/test_py3kwarn.py | 11 | ||||
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Modules/puremodule.c | 4 |
3 files changed, 16 insertions, 1 deletions
diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py index c66ff73..48cd4e7 100644 --- a/Lib/test/test_py3kwarn.py +++ b/Lib/test/test_py3kwarn.py @@ -129,8 +129,9 @@ class TestStdlibRemovals(unittest.TestCase): # test.testall not tested as it executes all unit tests as an # import side-effect. all_platforms = ('audiodev', 'imputil', 'mutex', 'user', 'new') + inclusive_platforms = {'irix':('pure',)} - def check_removal(self, module_name): + def check_removal(self, module_name, optional=False): """Make sure the specified module, when imported, raises a DeprecationWarning and specifies itself in the message.""" original_module = None @@ -145,6 +146,9 @@ class TestStdlibRemovals(unittest.TestCase): __import__(module_name, level=0) except DeprecationWarning as exc: self.assert_(module_name in exc.args[0]) + except ImportError: + if not optional: + raise else: self.fail("DeprecationWarning not raised for %s" % module_name) @@ -159,6 +163,11 @@ class TestStdlibRemovals(unittest.TestCase): for module_name in self.all_platforms: self.check_removal(module_name) + def test_platform_specific_removals(self): + # Test the removal of platform-specific modules. + for module_name in self.inclusive_platforms.get(sys.platform, []): + self.check_removal(module_name, optional=True) + def test_os_path_walk(self): msg = "In 3.x, os.path.walk is removed in favor of os.walk." def dumbo(where, names, args): pass @@ -23,6 +23,8 @@ Extension Modules Library ------- +- The pure module has been deprecated for removal in Python 3.0. + - Issue #2487: change the semantics of math.ldexp(x, n) when n is too large to fit in a C long. ldexp(x, n) now returns a zero (with suitable sign) if n is large and negative; previously, it raised diff --git a/Modules/puremodule.c b/Modules/puremodule.c index 95f4bde..ede63ab 100644 --- a/Modules/puremodule.c +++ b/Modules/puremodule.c @@ -951,6 +951,10 @@ initpure() { PyObject *m, *d; + if (PyErr_WarnPy3k("the pure module has been removed in " + "Python 3.0", 2) < 0) + return; + m = Py_InitModule("pure", pure_methods); if (m == NULL) return; |