cpython/Lib/test/ziptestdata/README.md

1008 B

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