# BerkeleyDB deadlocks (due to being opened with DB_INIT_LOCK
# and DB_THREAD to be thread safe) when intermixing database
# operations that use the cursor internally with those that don't.
- def _closeCursors(self, save=True):
+ def _closeCursors(self, save=1):
if self.dbc:
c = self.dbc
self.dbc = None
del self.db[key]
def close(self):
- self._closeCursors(save=False)
+ self._closeCursors(save=0)
if self.dbc is not None:
self.dbc.close()
v = 0
#----------------------------------------
- def test03_SimpleCursorStuff(self, get_raises_error=0, set_raises_error=1):
+ def test03_SimpleCursorStuff(self, get_raises_error=0, set_raises_error=0):
if verbose:
print '\n', '-=' * 30
print "Running %s.test03_SimpleCursorStuff (get_error %s, set_error %s)..." % \
self.__class__.__name__
old = self.d.set_get_returns_none(0)
- assert old == 1
+ assert old == 2
self.test03_SimpleCursorStuff(get_raises_error=1, set_raises_error=1)
+ def test03b_SimpleCursorWithGetReturnsNone1(self):
+ # same test but raise exceptions instead of returning None
+ if verbose:
+ print '\n', '-=' * 30
+ print "Running %s.test03b_SimpleCursorStuffWithoutGetReturnsNone..." % \
+ self.__class__.__name__
+
+ old = self.d.set_get_returns_none(1)
+ self.test03_SimpleCursorStuff(get_raises_error=0, set_raises_error=1)
+
+
def test03c_SimpleCursorGetReturnsNone2(self):
# same test but raise exceptions instead of returning None
if verbose:
print "Running %s.test03c_SimpleCursorStuffWithoutSetReturnsNone..." % \
self.__class__.__name__
+ old = self.d.set_get_returns_none(1)
+ assert old == 2
old = self.d.set_get_returns_none(2)
assert old == 1
- old = self.d.set_get_returns_none(2)
- assert old == 2
self.test03_SimpleCursorStuff(get_raises_error=0, set_raises_error=0)
#----------------------------------------