< prev index next >
test/hotspot/jtreg/gc/g1/TestVerifyGCType.java
Print this page
rev 48019 : 8191821: Finer granularity for GC verification
Reviewed-by:
rev 48020 : [mq]: 8191821-rev-sang-poonam
*** 43,89 ****
public static final String VERIFY_BEFORE = "Verifying Before GC";
public static final String VERIFY_DURING = "Verifying During GC";
public static final String VERIFY_AFTER = "Verifying After GC";
public static void main(String args[]) throws Exception {
// Test with all verification enabled
OutputAnalyzer output = testWithVerificationType(new String[0]);
output.shouldHaveExitValue(0);
verifyCollection("Pause Young", true, false, true, output.getStdout());
verifyCollection("Pause Remark", false, true, false, output.getStdout());
verifyCollection("Pause Cleanup", false, true, false, output.getStdout());
verifyCollection("Pause Full", true, true, true, output.getStdout());
// Test with all explicitly enabled
output = testWithVerificationType(new String[] {"young", "remark", "cleanup", "full"});
output.shouldHaveExitValue(0);
verifyCollection("Pause Young", true, false, true, output.getStdout());
verifyCollection("Pause Remark", false, true, false, output.getStdout());
verifyCollection("Pause Cleanup", false, true, false, output.getStdout());
verifyCollection("Pause Full", true, true, true, output.getStdout());
// Test with full and remark
output = testWithVerificationType(new String[] {"remark", "full"});
output.shouldHaveExitValue(0);
verifyCollection("Pause Young", false, false, false, output.getStdout());
verifyCollection("Pause Remark", false, true, false, output.getStdout());
verifyCollection("Pause Cleanup", false, false, false, output.getStdout());
verifyCollection("Pause Full", true, true, true, output.getStdout());
// Test bad type
output = testWithVerificationType(new String[] {"old"});
output.shouldHaveExitValue(0);
! output.shouldMatch("VerifyGCType: '.*' is unknown. Available are: young, mixed, remark, cleanup and full ");
verifyCollection("Pause Young", true, false, true, output.getStdout());
verifyCollection("Pause Remark", false, true, false, output.getStdout());
verifyCollection("Pause Cleanup", false, true, false, output.getStdout());
verifyCollection("Pause Full", true, true, true, output.getStdout());
// Test bad gc
output = testWithBadGC();
output.shouldHaveExitValue(0);
output.shouldMatch("VerifyGCType is not supported by this collector.");
}
--- 43,109 ----
public static final String VERIFY_BEFORE = "Verifying Before GC";
public static final String VERIFY_DURING = "Verifying During GC";
public static final String VERIFY_AFTER = "Verifying After GC";
public static void main(String args[]) throws Exception {
+ testAllVerificationEnabled();
+ testAllExplicitlyEnabled();
+ testFullAndRemark();
+ testBadVerificationType();
+ testUnsupportedCollector();
+ }
+
+ private static void testAllVerificationEnabled() throws Exception {
// Test with all verification enabled
OutputAnalyzer output = testWithVerificationType(new String[0]);
output.shouldHaveExitValue(0);
verifyCollection("Pause Young", true, false, true, output.getStdout());
verifyCollection("Pause Remark", false, true, false, output.getStdout());
verifyCollection("Pause Cleanup", false, true, false, output.getStdout());
verifyCollection("Pause Full", true, true, true, output.getStdout());
+ }
+ private static void testAllExplicitlyEnabled() throws Exception {
+ OutputAnalyzer output;
// Test with all explicitly enabled
output = testWithVerificationType(new String[] {"young", "remark", "cleanup", "full"});
output.shouldHaveExitValue(0);
verifyCollection("Pause Young", true, false, true, output.getStdout());
verifyCollection("Pause Remark", false, true, false, output.getStdout());
verifyCollection("Pause Cleanup", false, true, false, output.getStdout());
verifyCollection("Pause Full", true, true, true, output.getStdout());
+ }
+ private static void testFullAndRemark() throws Exception {
+ OutputAnalyzer output;
// Test with full and remark
output = testWithVerificationType(new String[] {"remark", "full"});
output.shouldHaveExitValue(0);
verifyCollection("Pause Young", false, false, false, output.getStdout());
verifyCollection("Pause Remark", false, true, false, output.getStdout());
verifyCollection("Pause Cleanup", false, false, false, output.getStdout());
verifyCollection("Pause Full", true, true, true, output.getStdout());
+ }
+ private static void testBadVerificationType() throws Exception {
+ OutputAnalyzer output;
// Test bad type
output = testWithVerificationType(new String[] {"old"});
output.shouldHaveExitValue(0);
! output.shouldMatch("VerifyGCType: '.*' is unknown. Available types are: young, mixed, remark, cleanup and full");
verifyCollection("Pause Young", true, false, true, output.getStdout());
verifyCollection("Pause Remark", false, true, false, output.getStdout());
verifyCollection("Pause Cleanup", false, true, false, output.getStdout());
verifyCollection("Pause Full", true, true, true, output.getStdout());
+ }
+ private static void testUnsupportedCollector() throws Exception {
+ OutputAnalyzer output;
// Test bad gc
output = testWithBadGC();
output.shouldHaveExitValue(0);
output.shouldMatch("VerifyGCType is not supported by this collector.");
}
< prev index next >