< prev index next >
test/gc/ergonomics/TestDynamicNumberOfGCThreads.java
Print this page
*** 42,59 ****
testDynamicNumberOfGCThreads("UseParallelGC");
}
private static void verifyDynamicNumberOfGCThreads(OutputAnalyzer output) {
output.shouldContain("new_active_workers");
- output.shouldHaveExitValue(0);
}
private static void testDynamicNumberOfGCThreads(String gcFlag) throws Exception {
// UseDynamicNumberOfGCThreads and TraceDynamicGCThreads enabled
! ProcessBuilder pb_enabled =
! ProcessTools.createJavaProcessBuilder("-XX:+" + gcFlag, "-Xmx10M", "-XX:+PrintGCDetails", "-XX:+UseDynamicNumberOfGCThreads", "-XX:+TraceDynamicGCThreads", GCTest.class.getName());
verifyDynamicNumberOfGCThreads(new OutputAnalyzer(pb_enabled.start()));
}
static class GCTest {
private static byte[] garbage;
--- 42,69 ----
testDynamicNumberOfGCThreads("UseParallelGC");
}
private static void verifyDynamicNumberOfGCThreads(OutputAnalyzer output) {
+ output.shouldHaveExitValue(0); // test should run succesfully
output.shouldContain("new_active_workers");
}
private static void testDynamicNumberOfGCThreads(String gcFlag) throws Exception {
// UseDynamicNumberOfGCThreads and TraceDynamicGCThreads enabled
! String[] baseArgs = {"-XX:+" + gcFlag, "-Xmx10M", "-XX:+PrintGCDetails", "-XX:+UseDynamicNumberOfGCThreads", "-XX:+TraceDynamicGCThreads", GCTest.class.getName()};
!
! // Base test with gc and +UseDynamicNumberOfGCThreads:
! ProcessBuilder pb_enabled = ProcessTools.createJavaProcessBuilder(baseArgs);
! verifyDynamicNumberOfGCThreads(new OutputAnalyzer(pb_enabled.start()));
!
! // Ensure it also works on uniprocessors or if user specifies -XX:ParallelGCThreads=1:
! String[] extraArgs = {"-XX:+UnlockDiagnosticVMOptions", "-XX:+ForceDynamicNumberOfGCThreads", "-XX:ParallelGCThreads=1"};
! String[] finalArgs = new String[baseArgs.length + extraArgs.length];
! System.arraycopy(extraArgs, 0, finalArgs, 0, extraArgs.length);
! System.arraycopy(baseArgs, 0, finalArgs, extraArgs.length, baseArgs.length);
! pb_enabled = ProcessTools.createJavaProcessBuilder(finalArgs);
verifyDynamicNumberOfGCThreads(new OutputAnalyzer(pb_enabled.start()));
}
static class GCTest {
private static byte[] garbage;
< prev index next >