A specific test for http://b/3181430.
Bug: 3181430
Change-Id: If1e02a888863143f4c56d1ef57e265d7c7bffcc4
diff --git a/luni/src/test/java/libcore/java/util/zip/ZipOutputStreamTest.java b/luni/src/test/java/libcore/java/util/zip/ZipOutputStreamTest.java
index 098aa4b..e7c518f 100644
--- a/luni/src/test/java/libcore/java/util/zip/ZipOutputStreamTest.java
+++ b/luni/src/test/java/libcore/java/util/zip/ZipOutputStreamTest.java
@@ -35,6 +35,13 @@
assertEquals(Arrays.toString(data), Arrays.toString(ZipInputStreamTest.unzip("short", zipped)));
}
+ // http://b/3181430 --- a sign-extension bug on CRCs with the top bit set.
+ public void test3181430() throws IOException {
+ byte[] data = new byte[1]; // CRC32({ 0 }) == 0xd202ef8d
+ byte[] zipped = zip("z", data);
+ assertEquals(Arrays.toString(data), Arrays.toString(ZipInputStreamTest.unzip("z", zipped)));
+ }
+
public void testLongMessage() throws IOException {
byte[] data = new byte[1024 * 1024];
new Random().nextBytes(data);