[Bug #1575506] The _singlefileMailbox class was using the wrong file object in its flush() method, causing an error

This commit is contained in:
Andrew M. Kuchling 2006-10-27 16:55:34 +00:00
parent 41eb7164df
commit 0f87183cf5
2 changed files with 17 additions and 1 deletions

View File

@ -578,7 +578,7 @@ class _singlefileMailbox(Mailbox):
self._toc = new_toc
self._pending = False
if self._locked:
_lock_file(new_file, dotlock=False)
_lock_file(self._file, dotlock=False)
def _pre_mailbox_hook(self, f):
"""Called before writing the mailbox to file f."""

View File

@ -747,6 +747,22 @@ class _TestMboxMMDF(TestMailbox):
self._box.lock()
self._box.unlock()
def test_relock(self):
# Test case for bug #1575506: the mailbox class was locking the
# wrong file object in its flush() method.
msg = "Subject: sub\n\nbody\n"
key1 = self._box.add(msg)
self._box.flush()
self._box.close()
self._box = self._factory(self._path)
self._box.lock()
key2 = self._box.add(msg)
self._box.flush()
self.assert_(self._box._locked)
self._box.close()
class TestMbox(_TestMboxMMDF):