< prev index next >
test/gc/g1/TestGCLogMessages.java
Print this page
*** 36,49 ****
import jdk.test.lib.OutputAnalyzer;
public class TestGCLogMessages {
private enum Level {
! OFF, DEBUG, TRACE;
! public boolean lessOrEqualTo(Level other) {
return this.compareTo(other) < 0;
}
}
private class LogMessageWithLevel {
String message;
Level level;
--- 36,63 ----
import jdk.test.lib.OutputAnalyzer;
public class TestGCLogMessages {
private enum Level {
! OFF(""),
! INFO("info"),
! DEBUG("debug"),
! TRACE("trace");
!
! private String logName;
!
! Level(String logName) {
! this.logName = logName;
! }
!
! public boolean lessThan(Level other) {
return this.compareTo(other) < 0;
}
+
+ public String toString() {
+ return logName;
+ }
}
private class LogMessageWithLevel {
String message;
Level level;
*** 54,101 ****
}
};
private LogMessageWithLevel allLogMessages[] = new LogMessageWithLevel[] {
// Update RS
! new LogMessageWithLevel("Scan HCC", Level.DEBUG),
// Ext Root Scan
! new LogMessageWithLevel("Thread Roots:", Level.DEBUG),
! new LogMessageWithLevel("StringTable Roots:", Level.DEBUG),
! new LogMessageWithLevel("Universe Roots:", Level.DEBUG),
! new LogMessageWithLevel("JNI Handles Roots:", Level.DEBUG),
! new LogMessageWithLevel("ObjectSynchronizer Roots:", Level.DEBUG),
! new LogMessageWithLevel("FlatProfiler Roots", Level.DEBUG),
! new LogMessageWithLevel("Management Roots", Level.DEBUG),
! new LogMessageWithLevel("SystemDictionary Roots", Level.DEBUG),
! new LogMessageWithLevel("CLDG Roots", Level.DEBUG),
! new LogMessageWithLevel("JVMTI Roots", Level.DEBUG),
! new LogMessageWithLevel("SATB Filtering", Level.DEBUG),
! new LogMessageWithLevel("CM RefProcessor Roots", Level.DEBUG),
! new LogMessageWithLevel("Wait For Strong CLD", Level.DEBUG),
! new LogMessageWithLevel("Weak CLD Roots", Level.DEBUG),
// Redirty Cards
new LogMessageWithLevel("Redirty Cards", Level.DEBUG),
! new LogMessageWithLevel("Parallel Redirty", Level.DEBUG),
! new LogMessageWithLevel("Redirtied Cards", Level.DEBUG),
// Misc Top-level
! new LogMessageWithLevel("Code Root Purge", Level.DEBUG),
! new LogMessageWithLevel("String Dedup Fixup", Level.DEBUG),
! new LogMessageWithLevel("Expand Heap After Collection", Level.DEBUG),
// Free CSet
! new LogMessageWithLevel("Young Free CSet", Level.TRACE),
! new LogMessageWithLevel("Non-Young Free CSet", Level.TRACE),
// Humongous Eager Reclaim
new LogMessageWithLevel("Humongous Reclaim", Level.DEBUG),
new LogMessageWithLevel("Humongous Register", Level.DEBUG),
};
void checkMessagesAtLevel(OutputAnalyzer output, LogMessageWithLevel messages[], Level level) throws Exception {
for (LogMessageWithLevel l : messages) {
! if (level.lessOrEqualTo(l.level)) {
output.shouldNotContain(l.message);
} else {
! output.shouldContain(l.message);
}
}
}
public static void main(String[] args) throws Exception {
--- 68,115 ----
}
};
private LogMessageWithLevel allLogMessages[] = new LogMessageWithLevel[] {
// Update RS
! new LogMessageWithLevel("Scan HCC", Level.TRACE),
// Ext Root Scan
! new LogMessageWithLevel("Thread Roots", Level.TRACE),
! new LogMessageWithLevel("StringTable Roots", Level.TRACE),
! new LogMessageWithLevel("Universe Roots", Level.TRACE),
! new LogMessageWithLevel("JNI Handles Roots", Level.TRACE),
! new LogMessageWithLevel("ObjectSynchronizer Roots", Level.TRACE),
! new LogMessageWithLevel("FlatProfiler Roots", Level.TRACE),
! new LogMessageWithLevel("Management Roots", Level.TRACE),
! new LogMessageWithLevel("SystemDictionary Roots", Level.TRACE),
! new LogMessageWithLevel("CLDG Roots", Level.TRACE),
! new LogMessageWithLevel("JVMTI Roots", Level.TRACE),
! new LogMessageWithLevel("SATB Filtering", Level.TRACE),
! new LogMessageWithLevel("CM RefProcessor Roots", Level.TRACE),
! new LogMessageWithLevel("Wait For Strong CLD", Level.TRACE),
! new LogMessageWithLevel("Weak CLD Roots", Level.TRACE),
// Redirty Cards
new LogMessageWithLevel("Redirty Cards", Level.DEBUG),
! new LogMessageWithLevel("Parallel Redirty", Level.TRACE),
! new LogMessageWithLevel("Redirtied Cards", Level.TRACE),
// Misc Top-level
! new LogMessageWithLevel("Code Roots Purge", Level.DEBUG),
! new LogMessageWithLevel("String Dedup Fixup", Level.INFO),
! new LogMessageWithLevel("Expand Heap After Collection", Level.INFO),
// Free CSet
! new LogMessageWithLevel("Young Free Collection Set", Level.DEBUG),
! new LogMessageWithLevel("Non-Young Free Collection Set", Level.DEBUG),
// Humongous Eager Reclaim
new LogMessageWithLevel("Humongous Reclaim", Level.DEBUG),
new LogMessageWithLevel("Humongous Register", Level.DEBUG),
};
void checkMessagesAtLevel(OutputAnalyzer output, LogMessageWithLevel messages[], Level level) throws Exception {
for (LogMessageWithLevel l : messages) {
! if (level.lessThan(l.level)) {
output.shouldNotContain(l.message);
} else {
! output.shouldMatch("\\[" + l.level + ".*" + l.message);
}
}
}
public static void main(String[] args) throws Exception {
< prev index next >