Add a unit test for bug fix #1396678.

This commit is contained in:
Georg Brandl 2006-02-19 01:21:11 +00:00
parent 26caeba35a
commit 19e2203fff
2 changed files with 11 additions and 6 deletions

View File

@ -111,11 +111,10 @@ class _iter_mixin(UserDict.DictMixin):
return return
def iteritems(self): def iteritems(self):
try: if not self.db:
return
try: try:
cur = self._make_iter_cursor() cur = self._make_iter_cursor()
except AttributeError:
return
# FIXME-20031102-greg: race condition. cursor could # FIXME-20031102-greg: race condition. cursor could
# be closed by another thread before this call. # be closed by another thread before this call.

View File

@ -7,10 +7,10 @@ import unittest
try: try:
# For Pythons w/distutils pybsddb # For Pythons w/distutils pybsddb
from bsddb3 import db, dbshelve from bsddb3 import db, dbshelve, hashopen
except ImportError: except ImportError:
# For Python 2.3 # 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) env.open(self.homeDir, db.DB_CREATE)
assert self.homeDir == env.db_home assert self.homeDir == env.db_home
def test03_repr_closed_db(self):
db = hashopen(self.filename)
db.close()
rp = repr(db)
self.assertEquals(rp, "{}")
#---------------------------------------------------------------------- #----------------------------------------------------------------------