$ SOURCE_DATE_EPOCH=1785326513 ./python -m test test_zipfile
...
======================================================================
FAIL: test_repack_removed_bytes_between_files (test.test_zipfile.test_core.ZstdRepackTests.test_repack_removed_bytes_between_files) (removed=[2])
Should not remove bytes between local file entries.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/stefanor/git/upstream/cpython/Lib/test/test_zipfile/test_core.py", line 2282, in test_repack_removed_bytes_between_files
self.assertEqual(
~~~~~~~~~~~~~~~~^
[comparable_zinfo(zi) for zi in zh.infolist()],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[comparable_zinfo(zi) for zi in expected_zinfos],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
AssertionError: Lists differ: [{'or[82 chars] 1, 52), 'compress_type': 93, 'compress_level'[678 chars] 62}] != [{'or[82 chars] 1, 53), 'compress_type': 93, 'compress_level'[678 chars] 62}]
First differing element 0:
{'ori[81 chars] 1, 52), 'compress_type': 93, 'compress_level'[268 chars]: 55}
{'ori[81 chars] 1, 53), 'compress_type': 93, 'compress_level'[268 chars]: 55}
[{'CRC': 1821039217,
'comment': b'',
'compress_level': None,
'compress_size': 64,
'compress_type': 93,
'create_system': 3,
'create_version': 63,
- 'date_time': (2026, 7, 29, 12, 1, 52),
? ^
+ 'date_time': (2026, 7, 29, 12, 1, 53),
? ^
'external_attr': 25165824,
'extra': b'',
'extract_version': 63,
'file_size': 55,
'filename': 'file0.txt',
'flag_bits': 2048,
'header_offset': 0,
'internal_attr': 0,
'orig_filename': 'file0.txt',
'reserved': 0,
'volume': 0},
{'CRC': 2493679103,
'comment': b'',
'compress_level': None,
'compress_size': 71,
'compress_type': 93,
'create_system': 3,
'create_version': 63,
- 'date_time': (2026, 7, 29, 12, 1, 52),
? ^
+ 'date_time': (2026, 7, 29, 12, 1, 53),
? ^
'external_attr': 25165824,
'extra': b'',
'extract_version': 63,
'file_size': 62,
'filename': 'file1.txt',
'flag_bits': 2048,
'header_offset': 116,
'internal_attr': 0,
'orig_filename': 'file1.txt',
'reserved': 0,
'volume': 0}]
----------------------------------------------------------------------
Ran 589 tests in 10.300s
FAILED (failures=50, skipped=3)
Bug report
Bug description:
It is common to build Python with
SOURCE_DATE_EPOCHset to some stable timestamp, allowing the Python build to be reproduced later (by setting the same timestamp). It's also common to run the Python test suite when you build Python.In GH-152831, I set
SOURCE_DATE_EPOCH, so that multiple builds of Python would be as similar as possible. But setting this before running the Python test suite breakstest_zipfile.It's probably OK for
test_zipfileto skip tests in this scenario, but if its the test we run in GitHub CI, that's probably not OK. For now, I setSOURCE_DATE_EPOCHafter running the test suite.(I skipped 49 similar failures in the output)
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux