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::
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
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
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
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
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)