cpython/Lib/test/ziptestdata
Gregory P. Smith 3f4db4a0ba bpo-28494: Test existing zipfile working behavior. (GH-15853)
Add unittests for executables with a zipfile appended to test_zipfile, as zipfile.is_zipfile and zipfile.ZipFile work properly on these today.
2019-09-10 09:14:11 -07:00
..
exe_with_z64
exe_with_zip
header.sh
README.md
testdata_module_inside_zip.py

Test data for 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 infozip's zip utility installed (apt install zip on Debian).

Purpose

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 infozip'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