ITADN

test_zipfile can fail if SOURCE_DATE_EPOCH is set

#154948Closedstefanor 创建于 21 天前
type-bugtests
S
stefanorcommented
# Bug report ### Bug description: It is common to build Python with `SOURCE_DATE_EPOCH` set 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 breaks `test_zipfile`. It's probably OK for `test_zipfile` to skip tests in this scenario, but if its the test we run in GitHub CI, that's probably not OK. For now, I have no other reason to set it. ```pytb $ 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) ``` (I skipped 49 similar failures in the output) ### CPython versions tested on: CPython main branch ### Operating systems tested on: Linux <!-- gh-linked-prs --> ### Linked PRs * gh-155001 * gh-155347 <!-- /gh-linked-prs -->
关闭于 13 天前 1 条评论