mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
gh-112795: Allow /
folder in a zipfile (#112932)
Allow extraction (no-op) of a "/" folder in a zipfile, they are commonly added by some archive creation tools. Co-authored-by: Erlend E. Aasland <erlend@python.org> Co-authored-by: Gregory P. Smith <greg@krypto.org>
This commit is contained in:
parent
84d1f76092
commit
541c5dbb81
3 changed files with 16 additions and 1 deletions
|
@ -577,3 +577,15 @@ class TestPath(unittest.TestCase):
|
|||
zipfile.Path(alpharep)
|
||||
with self.assertRaises(KeyError):
|
||||
alpharep.getinfo('does-not-exist')
|
||||
|
||||
def test_root_folder_in_zipfile(self):
|
||||
"""
|
||||
gh-112795: Some tools or self constructed codes will add '/' folder to
|
||||
the zip file, this is a strange behavior, but we should support it.
|
||||
"""
|
||||
in_memory_file = io.BytesIO()
|
||||
zf = zipfile.ZipFile(in_memory_file, "w")
|
||||
zf.mkdir('/')
|
||||
zf.writestr('./a.txt', 'aaa')
|
||||
tmpdir = pathlib.Path(self.fixtures.enter_context(temp_dir()))
|
||||
zf.extractall(tmpdir)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue