cpython/Lib/test/archivetestdata
Nikita Sobolev 890ef1b035
gh-108303: Move `zip` and `tar` archives to `Lib/test/archivetestdata` (#111549)
2023-11-04 10:57:53 +01:00
..
README.md
exe_with_z64
exe_with_zip
header.sh
recursion.tar
testdata_module_inside_zip.py
testtar.tar
testtar.tar.xz
zip_cp437_header.zip
zipdir.zip

README.md

Test data for test_zipfile, test_tarfile (and even some others)

test_zipfile

The test executables in this directory are created manually from header.sh and the testdata_module_inside_zip.py file. You must have Info-ZIP's zip utility installed (apt install zip on Debian).

Purpose of exe_with_zip and exe_with_z64

These are used to test executable files with an appended zipfile, in a scenario where the executable is not a Python interpreter itself so our automatic zipimport machinery (that'd look for __main__.py) is not being used.

Updating the test executables

If you update header.sh or the testdata_module_inside_zip.py file, rerun the commands below. These are expected to be rarely changed, if ever.

Standard old format (2.0) zip file

zip -0 zip2.zip testdata_module_inside_zip.py
cat header.sh zip2.zip >exe_with_zip
rm zip2.zip

Modern format (4.5) zip64 file

Redirecting from stdin forces Info-ZIP's zip tool to create a zip64.

zip -0 <testdata_module_inside_zip.py >zip64.zip
cat header.sh zip64.zip >exe_with_z64
rm zip64.zip