diff options
author | Georg Brandl <georg@python.org> | 2006-02-19 01:21:11 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2006-02-19 01:21:11 (GMT) |
commit | 19e2203fffcb0ae98bebe3c21a6233cad6a1453c (patch) | |
tree | 216acd50144cc42acd40239706e32ef713c440b5 | |
parent | 26caeba35a34afb1ff5ce5104d8598b395b87716 (diff) | |
download | cpython-19e2203fffcb0ae98bebe3c21a6233cad6a1453c.zip cpython-19e2203fffcb0ae98bebe3c21a6233cad6a1453c.tar.gz cpython-19e2203fffcb0ae98bebe3c21a6233cad6a1453c.tar.bz2 |
Add a unit test for bug fix #1396678.
-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, "{}") + #---------------------------------------------------------------------- |