Mercurial > hg > graal-jvmci-8
comparison test/gc/TestVerifyDuringStartup.java @ 10189:3edf23423bb2
8011898: gc/TestVerifyBeforeGCDuringStartup.java: java.lang.RuntimeException: '[Verifying' missing from stdout/stderr: [Error: Could not find or load main class]
Summary: System.getProperty("test.java.opts") can return NULL, which gets converted to to the empty string, and the child java command then interprets that as the name of the main class.
Reviewed-by: jmasa, brutisso
author | johnc |
---|---|
date | Fri, 26 Apr 2013 10:57:57 -0700 |
parents | 68fe50d4f1d5 |
children | ceda33ff54a3 |
comparison
equal
deleted
inserted
replaced
10188:2f50bc369470 | 10189:3edf23423bb2 |
---|---|
21 * questions. | 21 * questions. |
22 */ | 22 */ |
23 | 23 |
24 /* @test TestVerifyDuringStartup.java | 24 /* @test TestVerifyDuringStartup.java |
25 * @key gc | 25 * @key gc |
26 * @bug 8010463 | 26 * @bug 8010463 8011343 8011898 |
27 * @summary Simple test run with -XX:+VerifyDuringStartup -XX:-UseTLAB to verify 8010463 | 27 * @summary Simple test run with -XX:+VerifyDuringStartup -XX:-UseTLAB to verify 8010463 |
28 * @library /testlibrary | 28 * @library /testlibrary |
29 */ | 29 */ |
30 | 30 |
31 import com.oracle.java.testlibrary.JDKToolFinder; | |
31 import com.oracle.java.testlibrary.OutputAnalyzer; | 32 import com.oracle.java.testlibrary.OutputAnalyzer; |
32 import com.oracle.java.testlibrary.ProcessTools; | 33 import com.oracle.java.testlibrary.ProcessTools; |
34 import java.util.ArrayList; | |
35 import java.util.Collections; | |
33 | 36 |
34 public class TestVerifyDuringStartup { | 37 public class TestVerifyDuringStartup { |
35 public static void main(String args[]) throws Exception { | 38 public static void main(String args[]) throws Exception { |
39 ArrayList<String> vmOpts = new ArrayList(); | |
40 | |
41 String testVmOptsStr = System.getProperty("test.java.opts"); | |
42 if (!testVmOptsStr.isEmpty()) { | |
43 String[] testVmOpts = testVmOptsStr.split(" "); | |
44 Collections.addAll(vmOpts, testVmOpts); | |
45 } | |
46 Collections.addAll(vmOpts, new String[] {"-XX:-UseTLAB", | |
47 "-XX:+UnlockDiagnosticVMOptions", | |
48 "-XX:+VerifyDuringStartup", | |
49 "-version"}); | |
50 | |
51 System.out.print("Testing:\n" + JDKToolFinder.getJDKTool("java")); | |
52 for (int i = 0; i < vmOpts.size(); i += 1) { | |
53 System.out.print(" " + vmOpts.get(i)); | |
54 } | |
55 System.out.println(); | |
56 | |
36 ProcessBuilder pb = | 57 ProcessBuilder pb = |
37 ProcessTools.createJavaProcessBuilder(System.getProperty("test.vm.opts"), | 58 ProcessTools.createJavaProcessBuilder(vmOpts.toArray(new String[vmOpts.size()])); |
38 "-XX:-UseTLAB", | |
39 "-XX:+UnlockDiagnosticVMOptions", | |
40 "-XX:+VerifyDuringStartup", "-version"); | |
41 OutputAnalyzer output = new OutputAnalyzer(pb.start()); | 59 OutputAnalyzer output = new OutputAnalyzer(pb.start()); |
60 | |
61 System.out.println("Output:\n" + output.getOutput()); | |
62 | |
42 output.shouldContain("[Verifying"); | 63 output.shouldContain("[Verifying"); |
43 output.shouldHaveExitValue(0); | 64 output.shouldHaveExitValue(0); |
44 } | 65 } |
45 } | 66 } |