< prev index next >
test/gc/arguments/TestSelectDefaultGC.java
Print this page
*** 34,64 ****
import jdk.test.lib.*;
import java.util.regex.*;
public class TestSelectDefaultGC {
- public static boolean versionStringContains(OutputAnalyzer output, String pattern) {
- Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(output.getStderr());
- return matcher.find();
- }
-
public static void assertVMOption(OutputAnalyzer output, String option, boolean value) {
output.shouldMatch(" " + option + " .*=.* " + value + " ");
}
public static void main(String[] args) throws Exception {
// Start VM without specifying GC
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+PrintFlagsFinal", "-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
! boolean isServerVM = versionStringContains(output, "Server VM");
// Verify GC selection
! assertVMOption(output, "UseParallelGC", isServerVM);
! assertVMOption(output, "UseParallelOldGC", isServerVM);
assertVMOption(output, "UseSerialGC", !isServerVM);
assertVMOption(output, "UseConcMarkSweepGC", false);
- assertVMOption(output, "UseG1GC", false);
assertVMOption(output, "UseParNewGC", false);
}
}
--- 34,63 ----
import jdk.test.lib.*;
import java.util.regex.*;
public class TestSelectDefaultGC {
public static void assertVMOption(OutputAnalyzer output, String option, boolean value) {
output.shouldMatch(" " + option + " .*=.* " + value + " ");
}
public static void main(String[] args) throws Exception {
// Start VM without specifying GC
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+PrintFlagsFinal", "-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
! boolean isServerVM = Platform.isServer();
! boolean isEmbeddedVM = Platform.isEmbedded();
// Verify GC selection
! // G1 is default for non-embedded server VMs
! assertVMOption(output, "UseG1GC", isServerVM && !isEmbeddedVM);
! // Parallel is default for embedded server VMs
! assertVMOption(output, "UseParallelGC", isServerVM && isEmbeddedVM);
! assertVMOption(output, "UseParallelOldGC", isServerVM && isEmbeddedVM);
! // Serial is default for non-server VMs
assertVMOption(output, "UseSerialGC", !isServerVM);
assertVMOption(output, "UseConcMarkSweepGC", false);
assertVMOption(output, "UseParNewGC", false);
}
}
< prev index next >