test/java/util/zip/ZipFile/FinalizeZipFile.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -22,18 +22,17 @@
*/
/* @test
* @bug 7007609 7009618
* @summary Check that ZipFile objects are always collected
+ * @run main/othervm FinalizeZipFile
*/
import java.io.*;
-import java.nio.*;
import java.util.Random;
import java.util.zip.*;
import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
public class FinalizeZipFile {
private final static CountDownLatch finalizersDone = new CountDownLatch(3);
@@ -41,10 +40,11 @@
public InstrumentedZipFile(File f) throws Exception {
super(f);
System.out.printf("Using %s%n", f.getPath());
}
+ @Override
protected void finalize() throws IOException {
System.out.printf("Killing %s%n", getName());
super.finalize();
finalizersDone.countDown();
}
@@ -79,11 +79,11 @@
public static void realMain(String[] args) throws Throwable {
makeGarbage();
System.gc();
- finalizersDone.await(5, TimeUnit.SECONDS);
+ finalizersDone.await();
// Not all ZipFiles were collected?
equal(finalizersDone.getCount(), 0L);
}