Add file names and line numbers to error messages.
[pspp] / tests / libpspp / zip.at
index 5b21d50f5854791e06b60a6424c069a170da3ddc..bcc550457ab718a96f0280427d010a4ec2fd29d0 100644 (file)
@@ -57,6 +57,29 @@ AT_CHECK([
 ])
 AT_CLEANUP
 
+AT_SETUP([zip - detect corruption on unzip])
+AT_KEYWORDS([compression])
+mkdir write
+cd write
+AT_DATA([data.txt], [xyzzy
+])
+AT_CHECK([zip-test w ../foo.zip data.txt])
+cd ..
+
+mkdir extract
+cd extract
+AT_CHECK([zip-test r ../foo.zip data.txt])
+AT_CHECK([cat data.txt], [0], [xyzzy
+])
+cd ..
+
+mkdir error
+cd error
+sed 's/xyzzy/XYZZY/' < ../foo.zip > ../corrupted.zip
+AT_CHECK([zip-test r ../corrupted.zip data.txt], [1], [], [dnl
+Unzip failed: ../corrupted.zip: corrupt archive reading member "data.txt": bad CRC 0x2a2bcd20 (expected e1bd2a6e)
+])
+AT_CLEANUP
 
 AT_SETUP([zip to pipe])
 AT_KEYWORDS([compression])