33
34 import jdk.test.lib.*;
35
36 public class XbootcpNoVisibility {
37 public static void main(String args[]) throws Exception {
38
39 String Vis3_B_src =
40 "package sun.util;" +
41 "public class Vis3_B { public void m() { System.out.println(\"In B's m()\"); } }";
42
43 ClassFileInstaller.writeClassToDisk("sun/util/Vis3_B",
44 InMemoryJavaCompiler.compile("sun.util.Vis3_B", Vis3_B_src), System.getProperty("test.classes"));
45
46 String Vis3_A_src =
47 "import sun.util.*;" +
48 "public class Vis3_A {" +
49 " public static void main(String args[]) throws Exception {" +
50 // Try loading a class within a named package in a module which has been defined
51 // to the boot loader. In this situation, the class should only be attempted
52 // to be loaded from the boot loader's module path which consists of:
53 // [-Xpatch]; exploded build | "modules" jimage
54 //
55 // Since the class is located on the boot loader's append path via
56 // -Xbootclasspath/a specification, it should not be found.
57 " try {" +
58 " sun.util.Vis3_B b = new sun.util.Vis3_B();" +
59 " } catch (NoClassDefFoundError e) {" +
60 " System.out.println(\"XbootcpNoVisibility PASSED - " +
61 "test should throw exception\\n\");" +
62 " return;" +
63 " }" +
64 " throw new RuntimeException(\"XbootcpNoVisibility FAILED - " +
65 "test should have thrown exception\");" +
66 " }" +
67 "}";
68
69 ClassFileInstaller.writeClassToDisk("Vis3_A",
70 InMemoryJavaCompiler.compile("Vis3_A", Vis3_A_src), System.getProperty("test.classes"));
71
72 new OutputAnalyzer(ProcessTools.createJavaProcessBuilder(
73 "-Xbootclasspath/a:.",
|
33
34 import jdk.test.lib.*;
35
36 public class XbootcpNoVisibility {
37 public static void main(String args[]) throws Exception {
38
39 String Vis3_B_src =
40 "package sun.util;" +
41 "public class Vis3_B { public void m() { System.out.println(\"In B's m()\"); } }";
42
43 ClassFileInstaller.writeClassToDisk("sun/util/Vis3_B",
44 InMemoryJavaCompiler.compile("sun.util.Vis3_B", Vis3_B_src), System.getProperty("test.classes"));
45
46 String Vis3_A_src =
47 "import sun.util.*;" +
48 "public class Vis3_A {" +
49 " public static void main(String args[]) throws Exception {" +
50 // Try loading a class within a named package in a module which has been defined
51 // to the boot loader. In this situation, the class should only be attempted
52 // to be loaded from the boot loader's module path which consists of:
53 // [--patch-module]; exploded build | "modules" jimage
54 //
55 // Since the class is located on the boot loader's append path via
56 // -Xbootclasspath/a specification, it should not be found.
57 " try {" +
58 " sun.util.Vis3_B b = new sun.util.Vis3_B();" +
59 " } catch (NoClassDefFoundError e) {" +
60 " System.out.println(\"XbootcpNoVisibility PASSED - " +
61 "test should throw exception\\n\");" +
62 " return;" +
63 " }" +
64 " throw new RuntimeException(\"XbootcpNoVisibility FAILED - " +
65 "test should have thrown exception\");" +
66 " }" +
67 "}";
68
69 ClassFileInstaller.writeClassToDisk("Vis3_A",
70 InMemoryJavaCompiler.compile("Vis3_A", Vis3_A_src), System.getProperty("test.classes"));
71
72 new OutputAnalyzer(ProcessTools.createJavaProcessBuilder(
73 "-Xbootclasspath/a:.",
|