Mercurial > hg > openjdk > jdk8u > jdk
changeset 13656:60eca04567a6 jdk8u232-b03
Merge
author | andrew |
---|---|
date | Tue, 06 Aug 2019 04:37:06 +0100 |
parents | 89c8bfe10659 (current diff) 553561bf25a2 (diff) |
children | 3ef3348195ff |
files | |
diffstat | 1 files changed, 27 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/test/java/util/zip/ZipFile/MultiThreadedReadTest.java Thu Aug 01 03:44:04 2019 +0100 +++ b/test/java/util/zip/ZipFile/MultiThreadedReadTest.java Tue Aug 06 04:37:06 2019 +0100 @@ -29,11 +29,13 @@ * @run main MultiThreadedReadTest */ +import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.nio.file.Paths; import java.util.Random; +import java.util.zip.CRC32; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipOutputStream; @@ -42,7 +44,8 @@ public class MultiThreadedReadTest extends Thread { private static final int NUM_THREADS = 10; - private static final String ZIPFILE_NAME = "large.zip"; + private static final String ZIPFILE_NAME = + System.currentTimeMillis() + "-bug8038491-tmp.large.zip"; private static final String ZIPENTRY_NAME = "random.txt"; private static InputStream is = null; @@ -61,23 +64,34 @@ threadArray[i].join(); } } finally { + long t = System.currentTimeMillis(); FileUtils.deleteFileIfExistsWithRetry(Paths.get(ZIPFILE_NAME)); + System.out.println("Deleting zip file took:" + + (System.currentTimeMillis() - t) + "ms"); } } private static void createZipFile() throws Exception { - try (ZipOutputStream zos = - new ZipOutputStream(new FileOutputStream(ZIPFILE_NAME))) { - - zos.putNextEntry(new ZipEntry(ZIPENTRY_NAME)); - StringBuilder sb = new StringBuilder(); - Random rnd = new Random(); - for(int i = 0; i < 1000; i++) { - // append some random string for ZipEntry - sb.append(Long.toString(rnd.nextLong())); + CRC32 crc32 = new CRC32(); + long t = System.currentTimeMillis(); + File zipFile = new File(ZIPFILE_NAME); + try (FileOutputStream fos = new FileOutputStream(zipFile); + BufferedOutputStream bos = new BufferedOutputStream(fos); + ZipOutputStream zos = new ZipOutputStream(bos)) { + ZipEntry e = new ZipEntry(ZIPENTRY_NAME); + e.setMethod(ZipEntry.STORED); + StringBuilder blahBuilder = new StringBuilder(); + for (int i = 0; i < 10_000; i++) { + blahBuilder.append("BLAH"); } - byte[] b = sb.toString().getBytes(); - zos.write(b, 0, b.length); + byte[] toWrite = blahBuilder.toString().getBytes(); + e.setTime(t); + e.setSize(toWrite.length); + crc32.reset(); + crc32.update(toWrite); + e.setCrc(crc32.getValue()); + zos.putNextEntry(e); + zos.write(toWrite); } } @@ -86,6 +100,7 @@ try { while (is.read() != -1) { } } catch (Exception e) { + System.out.println("read exception:" + e); // Swallow any Exceptions (which are expected) - we're only interested in the crash } }