< prev index next >
test/java/io/Serializable/packageAccess/Test.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2017, 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.
@@ -20,26 +20,32 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
+ * @test
* @bug 4765255
+ * @library /lib/testlibrary
+ * @build JarUtils A B C D Driver Test
+ * @run driver Driver
+ * @run main Test
* @summary Verify proper functioning of package equality checks used to
* determine accessibility of superclass constructor and inherited
* writeReplace/readResolve methods.
*/
import java.io.*;
import java.net.*;
+import java.nio.file.*;
public class Test {
static Class bcl;
static Class dcl;
public static void main(String[] args) throws Exception {
- ClassLoader ldr =
+ URLClassLoader ldr =
new URLClassLoader(new URL[]{ new URL("file:foo.jar") },
Test.class.getClassLoader());
bcl = Class.forName("B", true, ldr);
dcl = Class.forName("D", true, ldr);
@@ -55,10 +61,11 @@
throw new Error("package private constructor of A invoked");
}
Object d = dcl.newInstance();
swizzle(d);
+ ldr.close();
}
static void swizzle(Object obj) throws Exception {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
ObjectOutputStream oout = new ObjectOutputStream(bout);
< prev index next >