Merged revisions 65235 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r65235 | antoine.pitrou | 2008-07-25 21:42:26 +0200 (ven., 25 juil. 2008) | 3 lines

  #3394: zipfile.writestr doesn't set external attributes, so files are extracted mode 000 on Unix
........
This commit is contained in:
Antoine Pitrou 2008-07-25 19:58:18 +00:00
parent c2542e986d
commit 6e1df8d0d4
3 changed files with 29 additions and 2 deletions

View file

@ -365,6 +365,19 @@ class TestsWithSourceFile(unittest.TestCase):
# remove the test file subdirectories
shutil.rmtree(os.path.join(os.getcwd(), 'ziptest2dir'))
def zip_test_writestr_permissions(self, f, compression):
# Make sure that writestr creates files with mode 0600,
# when it is passed a name rather than a ZipInfo instance.
self.makeTestArchive(f, compression)
zipfp = zipfile.ZipFile(f, "r")
zinfo = zipfp.getinfo('strfile')
self.assertEqual(zinfo.external_attr, 0o600 << 16)
def test_writestr_permissions(self):
for f in (TESTFN2, TemporaryFile(), io.BytesIO()):
self.zip_test_writestr_permissions(f, zipfile.ZIP_STORED)
def tearDown(self):
os.remove(TESTFN)
os.remove(TESTFN2)