23
24 /*
25 * @test
26 * @bug 8228485
27 * @summary Correctly handle initialization error for Condy BSM.
28 * @modules java.base/jdk.internal.misc
29 * @library /test/lib
30 * @compile Example.jasm
31 * @compile StaticInit.java
32 * @run driver TestInitException
33 */
34
35 import jdk.test.lib.process.ProcessTools;
36 import jdk.test.lib.process.OutputAnalyzer;
37
38 public class TestInitException {
39 public static void main(java.lang.String[] unused) throws Exception {
40 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("Example");
41 OutputAnalyzer oa = new OutputAnalyzer(pb.start());
42 // First call stack trace
43 oa.shouldContain("at Example.$jacocoInit(Example.jasm)");
44 oa.shouldContain("Caused by: java.lang.RuntimeException");
45 oa.shouldContain("at StaticInit.<clinit>(StaticInit.java:27)");
46 // Second call stack trace, with the message
47 oa.shouldContain("java.lang.ExceptionInInitializerError: $jacocoData");
48 oa.shouldContain("at Example.foo(Example.jasm)");
49 oa.shouldContain("at Example.main(Example.jasm)");
50 oa.shouldHaveExitValue(1);
51 }
52 }
53
|
23
24 /*
25 * @test
26 * @bug 8228485
27 * @summary Correctly handle initialization error for Condy BSM.
28 * @modules java.base/jdk.internal.misc
29 * @library /test/lib
30 * @compile Example.jasm
31 * @compile StaticInit.java
32 * @run driver TestInitException
33 */
34
35 import jdk.test.lib.process.ProcessTools;
36 import jdk.test.lib.process.OutputAnalyzer;
37
38 public class TestInitException {
39 public static void main(java.lang.String[] unused) throws Exception {
40 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("Example");
41 OutputAnalyzer oa = new OutputAnalyzer(pb.start());
42 // First call stack trace
43 // shouldMatch is used to workaround CODETOOLS-7902686
44 oa.shouldMatch("^\tat Example\\.\\$jacocoInit\\(.*Example\\.jasm\\)$");
45 oa.shouldContain("Caused by: java.lang.RuntimeException");
46 oa.shouldContain("at StaticInit.<clinit>(StaticInit.java:27)");
47 // Second call stack trace, with the message
48 oa.shouldContain("java.lang.ExceptionInInitializerError: $jacocoData");
49 oa.shouldMatch("^\tat Example\\.foo\\(.*Example\\.jasm\\)$");
50 oa.shouldMatch("^\tat Example\\.main\\(.*Example\\.jasm\\)$");
51 oa.shouldHaveExitValue(1);
52 }
53 }
54
|