Skip to content
Snippets Groups Projects
Commit c195a4e1 authored by Chris Lamb's avatar Chris Lamb :eyes:
Browse files

Add support for IO::Compress::Zip >= 2.212. (Closes: Debian:#1078050)

parent 956114dd
No related branches found
No related tags found
No related merge requests found
Pipeline #712562 passed
...@@ -44,6 +44,20 @@ def zipdetails_version(): ...@@ -44,6 +44,20 @@ def zipdetails_version():
return subprocess.check_output(["zipdetails", "--version"]).decode("UTF-8") return subprocess.check_output(["zipdetails", "--version"]).decode("UTF-8")
def io_compress_zip_version():
try:
return subprocess.check_output(
[
"perl",
"-MIO::Compress::Zip",
"-e",
"print $IO::Compress::Zip::VERSION",
]
).decode("UTF-8")
except subprocess.CalledProcessError:
return "-1"
def test_identification(zip1): def test_identification(zip1):
assert isinstance(zip1, ZipFile) assert isinstance(zip1, ZipFile)
...@@ -65,6 +79,7 @@ def differences2(zip1, zip3): ...@@ -65,6 +79,7 @@ def differences2(zip1, zip3):
@skip_unless_tools_exist("zipinfo", "zipdetails") @skip_unless_tools_exist("zipinfo", "zipdetails")
@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.004") @skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.004")
@skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212")
def test_metadata(differences): def test_metadata(differences):
assert_diff(differences[0], "zip_zipinfo_expected_diff") assert_diff(differences[0], "zip_zipinfo_expected_diff")
assert_diff(differences[1], "zip_zipdetails_expected_diff") assert_diff(differences[1], "zip_zipdetails_expected_diff")
...@@ -134,6 +149,7 @@ def jmod_differences(jmod1, jmod2): ...@@ -134,6 +149,7 @@ def jmod_differences(jmod1, jmod2):
@skip_unless_tools_exist("zipinfo", "zipdetails") @skip_unless_tools_exist("zipinfo", "zipdetails")
@skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212")
def test_jmod_metadata(jmod_differences, jmod1, jmod2): def test_jmod_metadata(jmod_differences, jmod1, jmod2):
assert_diff(jmod_differences[0], "jmod_zipinfo_expected_diff") assert_diff(jmod_differences[0], "jmod_zipinfo_expected_diff")
assert_diff(jmod_differences[1], "jmod_zipdetails_expected_diff") assert_diff(jmod_differences[1], "jmod_zipdetails_expected_diff")
......
This diff is collapsed.
@@ -26,103 +26,103 @@ @@ -30,129 +30,129 @@
003E LOCAL HEADER #2 04034B50 003E LOCAL HEADER #2 04034B50 (67324752)
0042 Extract Zip Spec 14 '2.0' 0042 Extract Zip Spec 14 (20) '2.0'
0043 Extract OS 00 'MS-DOS' 0043 Extract OS 00 (0) 'MS-DOS'
0044 General Purpose Flag 0000 0044 General Purpose Flag 0000 (0)
[Bits 1-2] 0 'Normal Compression' [Bits 1-2] 0 'Normal Compression'
0046 Compression Method 0008 'Deflated' 0046 Compression Method 0008 (8) 'Deflated'
-0048 Last Mod Time 46D87D9B 'Wed Jun 24 15:44:54 2015' -0048 Modification Time 46D87D9B (1188593051) 'Wed Jun 24 15:44:54 2015'
-004C CRC 43E526E8 -004C CRC 43E526E8 (1139091176)
-0050 Compressed Length 0000010D -0050 Compressed Size 0000010D (269)
-0054 Uncompressed Length 000001BE -0054 Uncompressed Size 000001BE (446)
+0048 Last Mod Time 46D87DAC 'Wed Jun 24 15:45:24 2015' +0048 Modification Time 46D87DAC (1188593068) 'Wed Jun 24 15:45:24 2015'
+004C CRC 5EB26950 +004C CRC 5EB26950 (1588750672)
+0050 Compressed Length 0000019C +0050 Compressed Size 0000019C (412)
+0054 Uncompressed Length 0000029F +0054 Uncompressed Size 0000029F (671)
0058 Filename Length 0008 0058 Filename Length 0008 (8)
005A Extra Length 001C 005A Extra Length 001C (28)
005C Filename 'XXX/XXXX' 005C Filename 'XXXXXXXX'
0064 Extra ID #0001 5455 'UT: Extended Timestamp' #
0066 Length 0009 # WARNING: Offset 0x5C: Filename 'XXXXXXXX'
0068 Flags '03 mod access' # Zero length filename
-0069 Mod Time 558AB455 'Wed Jun 24 13:44:53 2015' #
+0069 Mod Time 558AB474 'Wed Jun 24 13:45:24 2015' 0064 Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
006D Access Time 558AB45F 'Wed Jun 24 13:45:03 2015' 0066 Length 0009 (9)
0071 Extra ID #0002 7875 'ux: Unix Extra Type 3' 0068 Flags 03 (3) 'Modification Access'
0073 Length 000B -0069 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
0075 Version 01 +0069 Modification Time 558AB474 (1435153524) 'Wed Jun 24 13:45:24 2015'
0076 UID Size 04 006D Access Time 558AB45F (1435153503) 'Wed Jun 24 13:45:03 2015'
0077 UID 000003E8 0071 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]'
007B GID Size 04 0073 Length 000B (11)
007C GID 000003E8 0075 Version 01 (1)
0076 UID Size 04 (4)
0077 UID 000003E8 (1000)
007B GID Size 04 (4)
007C GID 000003E8 (1000)
0080 PAYLOAD 0080 PAYLOAD
-0191 CENTRAL HEADER #1 02014B50 -018D CENTRAL HEADER #1 02014B50 (33639248)
-0195 Created Zip Spec 1E '3.0' -0191 Created Zip Spec 1E (30) '3.0'
-0196 Created OS 03 'Unix' -0192 Created OS 03 (3) 'Unix'
-0197 Extract Zip Spec 0A '1.0' -0193 Extract Zip Spec 0A (10) '1.0'
-0198 Extract OS 00 'MS-DOS' -0194 Extract OS 00 (0) 'MS-DOS'
-0199 General Purpose Flag 0000 -0195 General Purpose Flag 0000 (0)
-019B Compression Method 0000 'Stored' -0197 Compression Method 0000 (0) 'Stored'
-019D Last Mod Time 46D87D9B 'Wed Jun 24 15:44:54 2015' -0199 Modification Time 46D87D9B (1188593051) 'Wed Jun 24 15:44:54 2015'
-01A1 CRC 00000000 -019D CRC 00000000 (0)
-01A5 Compressed Length 00000000 -01A1 Compressed Size 00000000 (0)
-01A9 Uncompressed Length 00000000 -01A5 Uncompressed Size 00000000 (0)
-01AD Filename Length 0004 -01A9 Filename Length 0004 (4)
-01AF Extra Length 0018 -01AB Extra Length 0018 (24)
-01B1 Comment Length 0000 -01AD Comment Length 0000 (0)
-01B3 Disk Start 0000 -01AF Disk Start 0000 (0)
-01B5 Int File Attributes 0000 -01B1 Int File Attributes 0000 (0)
+0220 CENTRAL HEADER #1 02014B50 +021C CENTRAL HEADER #1 02014B50 (33639248)
+0224 Created Zip Spec 1E '3.0' +0220 Created Zip Spec 1E (30) '3.0'
+0225 Created OS 03 'Unix' +0221 Created OS 03 (3) 'Unix'
+0226 Extract Zip Spec 0A '1.0' +0222 Extract Zip Spec 0A (10) '1.0'
+0227 Extract OS 00 'MS-DOS' +0223 Extract OS 00 (0) 'MS-DOS'
+0228 General Purpose Flag 0000 +0224 General Purpose Flag 0000 (0)
+022A Compression Method 0000 'Stored' +0226 Compression Method 0000 (0) 'Stored'
+022C Last Mod Time 46D87D9B 'Wed Jun 24 15:44:54 2015' +0228 Modification Time 46D87D9B (1188593051) 'Wed Jun 24 15:44:54 2015'
+0230 CRC 00000000 +022C CRC 00000000 (0)
+0234 Compressed Length 00000000 +0230 Compressed Size 00000000 (0)
+0238 Uncompressed Length 00000000 +0234 Uncompressed Size 00000000 (0)
+023C Filename Length 0004 +0238 Filename Length 0004 (4)
+023E Extra Length 0018 +023A Extra Length 0018 (24)
+0240 Comment Length 0000 +023C Comment Length 0000 (0)
+0242 Disk Start 0000 +023E Disk Start 0000 (0)
+0244 Int File Attributes 0000 +0240 Int File Attributes 0000 (0)
[Bit 0] 0 'Binary Data' [Bit 0] 0 'Binary Data'
-01B7 Ext File Attributes 41ED0010 -01B3 Ext File Attributes 41ED0010 (1106051088)
+0246 Ext File Attributes 41ED0010 +0242 Ext File Attributes 41ED0010 (1106051088)
[Bit 4] Directory [Bit 4] Directory
-01BB Local Header Offset 00000000 [Bits 16-24] 01ED (493) 'Unix attrib: rwxr-xr-x'
-01BF Filename 'XXX/' [Bits 28-31] 04 (4) 'Directory'
-01C3 Extra ID #0001 5455 'UT: Extended Timestamp' -01B7 Local Header Offset 00000000 (0)
-01C5 Length 0005 -01BB Filename 'XXXX'
-01C7 Flags '03 mod access' +0246 Local Header Offset 00000000 (0)
-01C8 Mod Time 558AB455 'Wed Jun 24 13:44:53 2015' +024A Filename 'XXXX'
-01CC Extra ID #0002 7875 'ux: Unix Extra Type 3' #
-01CE Length 000B -# WARNING: Offset 0x1BB: Filename 'XXXX'
-01D0 Version 01 +# WARNING: Offset 0x24A: Filename 'XXXX'
-01D1 UID Size 04 # Zero length filename
-01D2 UID 000003E8 #
-01D6 GID Size 04 -01BF Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
-01D7 GID 000003E8 -01C1 Length 0005 (5)
+024A Local Header Offset 00000000 -01C3 Flags 03 (3) 'Modification Access'
+024E Filename 'XXX/' -01C4 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
+0252 Extra ID #0001 5455 'UT: Extended Timestamp' -01C8 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]'
+0254 Length 0005 -01CA Length 000B (11)
+0256 Flags '03 mod access' -01CC Version 01 (1)
+0257 Mod Time 558AB455 'Wed Jun 24 13:44:53 2015' -01CD UID Size 04 (4)
+025B Extra ID #0002 7875 'ux: Unix Extra Type 3' -01CE UID 000003E8 (1000)
+025D Length 000B -01D2 GID Size 04 (4)
+025F Version 01 -01D3 GID 000003E8 (1000)
+0260 UID Size 04 +024E Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
+0261 UID 000003E8 +0250 Length 0005 (5)
+0265 GID Size 04 +0252 Flags 03 (3) 'Modification Access'
+0266 GID 000003E8 +0253 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
+0257 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]'
+0259 Length 000B (11)
+025B Version 01 (1)
+025C UID Size 04 (4)
+025D UID 000003E8 (1000)
+0261 GID Size 04 (4)
+0262 GID 000003E8 (1000)
#
-# ERROR: Offset 0x1BB: Directory 'XXXX' must end in a '/'
+# ERROR: Offset 0x24A: Directory 'XXXX' must end in a '/'
# 'External Attributes' flag this as a directory
#
-# WARNING: Offset 0x193: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXX'
+# WARNING: Offset 0x222: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXX'
#
-01D7 CENTRAL HEADER #2 02014B50 -01D7 CENTRAL HEADER #2 02014B50 (33639248)
-01DB Created Zip Spec 1E '3.0' -01DB Created Zip Spec 1E (30) '3.0'
-01DC Created OS 03 'Unix' -01DC Created OS 03 (3) 'Unix'
-01DD Extract Zip Spec 14 '2.0' -01DD Extract Zip Spec 14 (20) '2.0'
-01DE Extract OS 00 'MS-DOS' -01DE Extract OS 00 (0) 'MS-DOS'
-01DF General Purpose Flag 0000 -01DF General Purpose Flag 0000 (0)
+0266 CENTRAL HEADER #2 02014B50 +0266 CENTRAL HEADER #2 02014B50 (33639248)
+026A Created Zip Spec 1E '3.0' +026A Created Zip Spec 1E (30) '3.0'
+026B Created OS 03 'Unix' +026B Created OS 03 (3) 'Unix'
+026C Extract Zip Spec 14 '2.0' +026C Extract Zip Spec 14 (20) '2.0'
+026D Extract OS 00 'MS-DOS' +026D Extract OS 00 (0) 'MS-DOS'
+026E General Purpose Flag 0000 +026E General Purpose Flag 0000 (0)
[Bits 1-2] 0 'Normal Compression' [Bits 1-2] 0 'Normal Compression'
-01E1 Compression Method 0008 'Deflated' -01E1 Compression Method 0008 (8) 'Deflated'
-01E3 Last Mod Time 46D87D9B 'Wed Jun 24 15:44:54 2015' -01E3 Modification Time 46D87D9B (1188593051) 'Wed Jun 24 15:44:54 2015'
-01E7 CRC 43E526E8 -01E7 CRC 43E526E8 (1139091176)
-01EB Compressed Length 0000010D -01EB Compressed Size 0000010D (269)
-01EF Uncompressed Length 000001BE -01EF Uncompressed Size 000001BE (446)
-01F3 Filename Length 0008 -01F3 Filename Length 0008 (8)
-01F5 Extra Length 0018 -01F5 Extra Length 0018 (24)
-01F7 Comment Length 0000 -01F7 Comment Length 0000 (0)
-01F9 Disk Start 0000 -01F9 Disk Start 0000 (0)
-01FB Int File Attributes 0001 -01FB Int File Attributes 0001 (1)
+0270 Compression Method 0008 'Deflated' +0270 Compression Method 0008 (8) 'Deflated'
+0272 Last Mod Time 46D87DAC 'Wed Jun 24 15:45:24 2015' +0272 Modification Time 46D87DAC (1188593068) 'Wed Jun 24 15:45:24 2015'
+0276 CRC 5EB26950 +0276 CRC 5EB26950 (1588750672)
+027A Compressed Length 0000019C +027A Compressed Size 0000019C (412)
+027E Uncompressed Length 0000029F +027E Uncompressed Size 0000029F (671)
+0282 Filename Length 0008 +0282 Filename Length 0008 (8)
+0284 Extra Length 0018 +0284 Extra Length 0018 (24)
+0286 Comment Length 0000 +0286 Comment Length 0000 (0)
+0288 Disk Start 0000 +0288 Disk Start 0000 (0)
+028A Int File Attributes 0001 +028A Int File Attributes 0001 (1)
[Bit 0] 1 Text Data [Bit 0] 1 'Text Data'
-01FD Ext File Attributes 81A40000 -01FD Ext File Attributes 81A40000 (2175008768)
-0201 Local Header Offset 0000003E +028C Ext File Attributes 81A40000 (2175008768)
-0205 Filename 'XXX/XXXX' [Bits 16-24] 01A4 (420) 'Unix attrib: rw-r--r--'
-020D Extra ID #0001 5455 'UT: Extended Timestamp' [Bits 28-31] 08 (8) 'Regular File'
-020F Length 0005 -0201 Local Header Offset 0000003E (62)
-0211 Flags '03 mod access' -0205 Filename 'XXXXXXXX'
-0212 Mod Time 558AB455 'Wed Jun 24 13:44:53 2015' +0290 Local Header Offset 0000003E (62)
-0216 Extra ID #0002 7875 'ux: Unix Extra Type 3' +0294 Filename 'XXXXXXXX'
-0218 Length 000B #
-021A Version 01 -# WARNING: Offset 0x205: Filename 'XXXXXXXX'
-021B UID Size 04 +# WARNING: Offset 0x294: Filename 'XXXXXXXX'
-021C UID 000003E8 # Zero length filename
-0220 GID Size 04 #
-0221 GID 000003E8 -020D Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
+028C Ext File Attributes 81A40000 -020F Length 0005 (5)
+0290 Local Header Offset 0000003E -0211 Flags 03 (3) 'Modification Access'
+0294 Filename 'XXX/XXXX' -0212 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
+029C Extra ID #0001 5455 'UT: Extended Timestamp' -0216 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]'
+029E Length 0005 -0218 Length 000B (11)
+02A0 Flags '03 mod access' -021A Version 01 (1)
+02A1 Mod Time 558AB474 'Wed Jun 24 13:45:24 2015' -021B UID Size 04 (4)
+02A5 Extra ID #0002 7875 'ux: Unix Extra Type 3' -021C UID 000003E8 (1000)
+02A7 Length 000B -0220 GID Size 04 (4)
+02A9 Version 01 -0221 GID 000003E8 (1000)
+02AA UID Size 04 +029C Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
+02AB UID 000003E8 +029E Length 0005 (5)
+02AF GID Size 04 +02A0 Flags 03 (3) 'Modification Access'
+02B0 GID 000003E8 +02A1 Modification Time 558AB474 (1435153524) 'Wed Jun 24 13:45:24 2015'
+02A5 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]'
+02A7 Length 000B (11)
+02A9 Version 01 (1)
+02AA UID Size 04 (4)
+02AB UID 000003E8 (1000)
+02AF GID Size 04 (4)
+02B0 GID 000003E8 (1000)
-0225 END CENTRAL HEADER 06054B50 -0225 END CENTRAL HEADER 06054B50 (101010256)
-0229 Number of this disk 0000 -0229 Number of this disk 0000 (0)
-022B Central Dir Disk no 0000 -022B Central Dir Disk no 0000 (0)
-022D Entries in this disk 0002 -022D Entries in this disk 0002 (2)
-022F Total Entries 0002 -022F Total Entries 0002 (2)
-0231 Size of Central Dir 00000098 -0231 Size of Central Dir 00000098 (152)
-0235 Offset to Central Dir 0000018D -0235 Offset to Central Dir 0000018D (397)
-0239 Comment Length 0000 -0239 Comment Length 0000 (0)
+02B4 END CENTRAL HEADER 06054B50 +02B4 END CENTRAL HEADER 06054B50 (101010256)
+02B8 Number of this disk 0000 +02B8 Number of this disk 0000 (0)
+02BA Central Dir Disk no 0000 +02BA Central Dir Disk no 0000 (0)
+02BC Entries in this disk 0002 +02BC Entries in this disk 0002 (2)
+02BE Total Entries 0002 +02BE Total Entries 0002 (2)
+02C0 Size of Central Dir 00000098 +02C0 Size of Central Dir 00000098 (152)
+02C4 Offset to Central Dir 0000021C +02C4 Offset to Central Dir 0000021C (540)
+02C8 Comment Length 0000 +02C8 Comment Length 0000 (0)
Done #
# Error Count: 1
# Warning Count: 5
#
# Done
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment