diff options
author | Petri Lehtinen <petri@digip.org> | 2012-06-29 12:09:12 (GMT) |
---|---|---|
committer | Petri Lehtinen <petri@digip.org> | 2012-06-29 12:09:16 (GMT) |
commit | d07de404907b7eab1796b9065ff6bcc3de14c4fc (patch) | |
tree | fc5acfe4e6ce4f79754d8b73aa870de17491c9ac /Lib/test/test_mailbox.py | |
parent | 4e6e5a06bbdba83389510331f5b0f2047e21ccd5 (diff) | |
download | cpython-d07de404907b7eab1796b9065ff6bcc3de14c4fc.zip cpython-d07de404907b7eab1796b9065ff6bcc3de14c4fc.tar.gz cpython-d07de404907b7eab1796b9065ff6bcc3de14c4fc.tar.bz2 |
#5346: Preserve permissions of mbox, MMDF and Babyl mailbox files on flush()
Diffstat (limited to 'Lib/test/test_mailbox.py')
-rw-r--r-- | Lib/test/test_mailbox.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py index a8c692b..d479bf8 100644 --- a/Lib/test/test_mailbox.py +++ b/Lib/test/test_mailbox.py @@ -848,6 +848,23 @@ class _TestSingleFile(TestMailbox): self._box = self._factory(self._path) self.assertEqual(len(self._box), 1) + def test_permissions_after_flush(self): + # See issue #5346 + + # Make the mailbox world writable. It's unlikely that the new + # mailbox file would have these permissions after flush(), + # because umask usually prevents it. + mode = os.stat(self._path).st_mode | 0o666 + os.chmod(self._path, mode) + + self._box.add(self._template % 0) + i = self._box.add(self._template % 1) + # Need to remove one message to make flush() create a new file + self._box.remove(i) + self._box.flush() + + self.assertEqual(os.stat(self._path).st_mode, mode) + class _TestMboxMMDF(_TestSingleFile): |