69 String source2 = "package mypackage; " +
70 "public class Hello { " +
71 " static { " +
72 " System.out.println(\"Hello!\"); " +
73 " } " +
74 "}";
75 ClassFileInstaller.writeClassToDisk("mypackage/Hello",
76 InMemoryJavaCompiler.compile("mypackage.Hello", source2),
77 classDir);
78
79 JarBuilder.build("hello", "mypackage/Hello");
80 appJar = TestCommon.getTestJar("hello.jar");
81
82 System.out.println("Test dumping with --patch-module");
83 OutputAnalyzer output =
84 TestCommon.dump(appJar,
85 TestCommon.list("javax/naming/spi/NamingManager", "mypackage/Hello"),
86 "--patch-module=java.naming=" + moduleJar,
87 "-Xlog:class+load",
88 "PatchMain", "javax.naming.spi.NamingManager", "mypackage.Hello");
89 TestCommon.checkDump(output, "Loading classes to share");
90
91 String classPath = appJar + File.pathSeparator + classDir;
92 System.out.println("classPath: " + classPath);
93 TestCommon.run(
94 "-XX:+UnlockDiagnosticVMOptions",
95 "-cp", classPath,
96 "--patch-module=java.naming=" + moduleJar,
97 "-Xlog:class+load",
98 "PatchMain", "javax.naming.spi.NamingManager", "mypackage.Hello")
99 .assertNormalExit(
100 "I pass!",
101 "Hello!",
102 "Hello source: shared objects file");
103 }
104 }
|
69 String source2 = "package mypackage; " +
70 "public class Hello { " +
71 " static { " +
72 " System.out.println(\"Hello!\"); " +
73 " } " +
74 "}";
75 ClassFileInstaller.writeClassToDisk("mypackage/Hello",
76 InMemoryJavaCompiler.compile("mypackage.Hello", source2),
77 classDir);
78
79 JarBuilder.build("hello", "mypackage/Hello");
80 appJar = TestCommon.getTestJar("hello.jar");
81
82 System.out.println("Test dumping with --patch-module");
83 OutputAnalyzer output =
84 TestCommon.dump(appJar,
85 TestCommon.list("javax/naming/spi/NamingManager", "mypackage/Hello"),
86 "--patch-module=java.naming=" + moduleJar,
87 "-Xlog:class+load",
88 "PatchMain", "javax.naming.spi.NamingManager", "mypackage.Hello");
89 output.shouldHaveExitValue(1)
90 .shouldContain("Cannot use the following option when dumping the shared archive: --patch-module");
91
92 String classPath = appJar + File.pathSeparator + classDir;
93 System.out.println("classPath: " + classPath);
94 TestCommon.run(
95 "-XX:+UnlockDiagnosticVMOptions",
96 "-cp", classPath,
97 "--patch-module=java.naming=" + moduleJar,
98 "-Xlog:class+load",
99 "PatchMain", "javax.naming.spi.NamingManager", "mypackage.Hello")
100 .assertSilentlyDisabledCDS(0, "I pass!", "Hello!");
101 }
102 }
|