Ensure that the mailbox is closed to prevent problems on Windows with removing
an open file. This doesn't seem to be a problem in 2.6, but that appears to be somewhat accidental (specific to reference counting). When this gets merged to 3.0, it will make the 3.0 code simpler.
This commit is contained in:
parent
14f0bc7900
commit
22b3e3aff8
|
@ -379,7 +379,7 @@ class TestMailbox(TestBase):
|
|||
|
||||
def test_flush(self):
|
||||
# Write changes to disk
|
||||
self._test_flush_or_close(self._box.flush)
|
||||
self._test_flush_or_close(self._box.flush, True)
|
||||
|
||||
def test_lock_unlock(self):
|
||||
# Lock and unlock the mailbox
|
||||
|
@ -391,14 +391,16 @@ class TestMailbox(TestBase):
|
|||
|
||||
def test_close(self):
|
||||
# Close mailbox and flush changes to disk
|
||||
self._test_flush_or_close(self._box.close)
|
||||
self._test_flush_or_close(self._box.close, False)
|
||||
|
||||
def _test_flush_or_close(self, method):
|
||||
def _test_flush_or_close(self, method, should_call_close):
|
||||
contents = [self._template % i for i in xrange(3)]
|
||||
self._box.add(contents[0])
|
||||
self._box.add(contents[1])
|
||||
self._box.add(contents[2])
|
||||
method()
|
||||
if should_call_close:
|
||||
self._box.close()
|
||||
self._box = self._factory(self._path)
|
||||
keys = self._box.keys()
|
||||
self.assert_(len(keys) == 3)
|
||||
|
|
Loading…
Reference in New Issue