46 if (numGCs > 0) {
47 wb.fullGC();
48 }
49 }
50 }
51
52 public class TestRemsetLoggingTools {
53
54 public static String runTest(String[] additionalArgs, int numGCs) throws Exception {
55 ArrayList<String> finalargs = new ArrayList<String>();
56 String[] defaultArgs = new String[] {
57 "-Xbootclasspath/a:.",
58 "-XX:+UnlockDiagnosticVMOptions", "-XX:+WhiteBoxAPI",
59 "-cp", System.getProperty("java.class.path"),
60 "-XX:+UseG1GC",
61 "-Xmn4m",
62 "-Xint", // -Xint makes the test run faster
63 "-Xms20m",
64 "-Xmx20m",
65 "-XX:ParallelGCThreads=1",
66 "-XX:InitiatingHeapOccupancyPercent=100", // we don't want the additional GCs due to initial marking
67 "-XX:+UnlockDiagnosticVMOptions",
68 "-XX:G1HeapRegionSize=1M",
69 };
70
71 finalargs.addAll(Arrays.asList(defaultArgs));
72
73 if (additionalArgs != null) {
74 finalargs.addAll(Arrays.asList(additionalArgs));
75 }
76
77 finalargs.add(VerifySummaryOutput.class.getName());
78 finalargs.add(String.valueOf(numGCs));
79
80 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(finalargs);
81 OutputAnalyzer output = new OutputAnalyzer(pb.start());
82
83 output.shouldHaveExitValue(0);
84
85 String result = output.getStdout();
86 return result;
|
46 if (numGCs > 0) {
47 wb.fullGC();
48 }
49 }
50 }
51
52 public class TestRemsetLoggingTools {
53
54 public static String runTest(String[] additionalArgs, int numGCs) throws Exception {
55 ArrayList<String> finalargs = new ArrayList<String>();
56 String[] defaultArgs = new String[] {
57 "-Xbootclasspath/a:.",
58 "-XX:+UnlockDiagnosticVMOptions", "-XX:+WhiteBoxAPI",
59 "-cp", System.getProperty("java.class.path"),
60 "-XX:+UseG1GC",
61 "-Xmn4m",
62 "-Xint", // -Xint makes the test run faster
63 "-Xms20m",
64 "-Xmx20m",
65 "-XX:ParallelGCThreads=1",
66 "-XX:InitiatingHeapOccupancyPercent=100", // we don't want the additional GCs due to marking
67 "-XX:+UnlockDiagnosticVMOptions",
68 "-XX:G1HeapRegionSize=1M",
69 };
70
71 finalargs.addAll(Arrays.asList(defaultArgs));
72
73 if (additionalArgs != null) {
74 finalargs.addAll(Arrays.asList(additionalArgs));
75 }
76
77 finalargs.add(VerifySummaryOutput.class.getName());
78 finalargs.add(String.valueOf(numGCs));
79
80 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(finalargs);
81 OutputAnalyzer output = new OutputAnalyzer(pb.start());
82
83 output.shouldHaveExitValue(0);
84
85 String result = output.getStdout();
86 return result;
|