diff options
-rw-r--r-- | Lib/bsddb/__init__.py | 7 | ||||
-rw-r--r-- | Lib/bsddb/test/test_misc.py | 10 |
2 files changed, 11 insertions, 6 deletions
diff --git a/Lib/bsddb/__init__.py b/Lib/bsddb/__init__.py index 781a22b..4903584 100644 --- a/Lib/bsddb/__init__.py +++ b/Lib/bsddb/__init__.py @@ -111,11 +111,10 @@ class _iter_mixin(UserDict.DictMixin): return def iteritems(self): + if not self.db: + return try: - try: - cur = self._make_iter_cursor() - except AttributeError: - return + cur = self._make_iter_cursor() # FIXME-20031102-greg: race condition. cursor could # be closed by another thread before this call. diff --git a/Lib/bsddb/test/test_misc.py b/Lib/bsddb/test/test_misc.py index a66b1de..88f700b 100644 --- a/Lib/bsddb/test/test_misc.py +++ b/Lib/bsddb/test/test_misc.py @@ -7,10 +7,10 @@ import unittest try: # For Pythons w/distutils pybsddb - from bsddb3 import db, dbshelve + from bsddb3 import db, dbshelve, hashopen except ImportError: # For Python 2.3 - from bsddb import db, dbshelve + from bsddb import db, dbshelve, hashopen #---------------------------------------------------------------------- @@ -46,6 +46,12 @@ class MiscTestCase(unittest.TestCase): env.open(self.homeDir, db.DB_CREATE) assert self.homeDir == env.db_home + def test03_repr_closed_db(self): + db = hashopen(self.filename) + db.close() + rp = repr(db) + self.assertEquals(rp, "{}") + #---------------------------------------------------------------------- |