]> granicus.if.org Git - python/commitdiff
Deprecate the bsddb185 module for removal in 3.0.
authorBrett Cannon <bcannon@gmail.com>
Sat, 10 May 2008 02:47:54 +0000 (02:47 +0000)
committerBrett Cannon <bcannon@gmail.com>
Sat, 10 May 2008 02:47:54 +0000 (02:47 +0000)
Doc/library/bsddb.rst
Lib/test/test_bsddb185.py
Lib/test/test_py3kwarn.py
Misc/NEWS
Modules/bsddbmodule.c

index 5a8d3799cf0d5298978bdd5e1c13b0eafa028e34..1905c14daf77839e5fa9fe94b275ee5a154f38b2 100644 (file)
@@ -82,7 +82,8 @@ arguments should be used in most instances.
    Beginning in 2.3 some Unix versions of Python may have a :mod:`bsddb185` module.
    This is present *only* to allow backwards compatibility with systems which ship
    with the old Berkeley DB 1.85 database library.  The :mod:`bsddb185` module
-   should never be used directly in new code.
+   should never be used directly in new code. The module has been removed in
+   Python 3.0.
 
 
 .. seealso::
index 51e1a7eb8d3b4ec348a9be1140fa6de89a630e52..98102c1457992dcaac64ecaaa5678be6ca60d6df 100644 (file)
@@ -4,9 +4,9 @@ The file 185test.db found in Lib/test/ is for testing purposes with this
 testing suite.
 
 """
-from test.test_support import run_unittest, findfile
+from test.test_support import run_unittest, findfile, import_module
 import unittest
-import bsddb185
+bsddb185 = import_module('bsddb185', deprecated=True)
 import anydbm
 import whichdb
 import os
index 22257e1d1e697ad8308fd501d2e50a8a44ba1bab..ae5713476e47182616a2fc683ff8ebb63ab815c6 100644 (file)
@@ -131,6 +131,7 @@ class TestStdlibRemovals(unittest.TestCase):
     all_platforms = ('audiodev', 'imputil', 'mutex', 'user', 'new', 'rexec',
                         'Bastion')
     inclusive_platforms = {'irix':('pure',)}
+    optional_modules = ('bsddb185',)
 
     def check_removal(self, module_name, optional=False):
         """Make sure the specified module, when imported, raises a
@@ -169,6 +170,11 @@ class TestStdlibRemovals(unittest.TestCase):
         for module_name in self.inclusive_platforms.get(sys.platform, []):
             self.check_removal(module_name, optional=True)
 
+    def test_optional_module_removals(self):
+        # Test the removal of modules that may or may not be built.
+        for module_name in self.optional_modules:
+            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
index 41d3fe5bd8685db9f5c5ddcfa5f356049e548957..11294bd8cb3b8e528e448f56d72e24189d8149ac 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -23,6 +23,8 @@ Extension Modules
 Library
 -------
 
+- The bsddb185 module has been deprecated for removal in Python 3.0.
+
 - 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
index 61c656437e3b8e2a50b185dcbfc4b452a1301f04..09728821e32f80e56bfe5129865b78da1310ce01 100644 (file)
@@ -847,6 +847,10 @@ PyMODINIT_FUNC
 initbsddb185(void) {
        PyObject *m, *d;
 
+    if (PyErr_WarnPy3k("the bsddb185 module has been removed in "
+                       "Python 3.0", 2) < 0)
+        return;    
+
        Bsddbtype.ob_type = &PyType_Type;
        m = Py_InitModule("bsddb185", bsddbmodule_methods);
        if (m == NULL)