mirror of
https://github.com/python/cpython.git
synced 2024-12-03 06:46:01 +08:00
3f4db4a0ba
Add unittests for executables with a zipfile appended to test_zipfile, as zipfile.is_zipfile and zipfile.ZipFile work properly on these today. |
||
---|---|---|
.. | ||
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