hotspot/test/gc/logging/TestPrintReferences.java
changeset 35061 be6025ebffea
parent 33103 116b558af514
child 36851 03e2f4d0a421
equal deleted inserted replaced
35060:382d0689141c 35061:be6025ebffea
    35 import jdk.test.lib.OutputAnalyzer;
    35 import jdk.test.lib.OutputAnalyzer;
    36 
    36 
    37 public class TestPrintReferences {
    37 public class TestPrintReferences {
    38   public static void main(String[] args) throws Exception {
    38   public static void main(String[] args) throws Exception {
    39     ProcessBuilder pb_enabled =
    39     ProcessBuilder pb_enabled =
    40       ProcessTools.createJavaProcessBuilder("-XX:+PrintGCDetails", "-XX:+PrintReferenceGC", "-Xmx10M", GCTest.class.getName());
    40       ProcessTools.createJavaProcessBuilder("-Xlog:gc+ref=debug", "-Xmx10M", GCTest.class.getName());
    41     OutputAnalyzer output = new OutputAnalyzer(pb_enabled.start());
    41     OutputAnalyzer output = new OutputAnalyzer(pb_enabled.start());
    42 
    42 
    43     String countRegex = "[0-9]+ refs";
    43     String countRegex = "[0-9]+ refs";
    44     String timeRegex = "[0-9]+[.,][0-9]+ secs";
    44     String timeRegex = "\\([0-9]+[.,][0-9]+s, [0-9]+[.,][0-9]+s\\) [0-9]+[.,][0-9]+ms";
    45 
    45 
    46     output.shouldMatch(
    46     output.shouldMatch(".* GC\\([0-9]+\\) SoftReference " + timeRegex + "\n" +
    47       "#[0-9]+: \\[SoftReference, " + countRegex + ", " + timeRegex + "\\]" +
    47                        ".* GC\\([0-9]+\\) WeakReference " + timeRegex + "\n" +
    48       "#[0-9]+: \\[WeakReference, " + countRegex + ", " + timeRegex + "\\]" +
    48                        ".* GC\\([0-9]+\\) FinalReference " + timeRegex + "\n" +
    49       "#[0-9]+: \\[FinalReference, " + countRegex + ", " + timeRegex + "\\]" +
    49                        ".* GC\\([0-9]+\\) PhantomReference " + timeRegex + "\n" +
    50       "#[0-9]+: \\[PhantomReference, " + countRegex + ", " + timeRegex + "\\]" +
    50                        ".* GC\\([0-9]+\\) JNI Weak Reference " + timeRegex + "\n" +
    51       "#[0-9]+: \\[JNI Weak Reference, (" + countRegex + ", )?" + timeRegex + "\\]");
    51                        ".* GC\\([0-9]+\\) Ref Counts: Soft: [0-9]+ Weak: [0-9]+ Final: [0-9]+ Phantom: [0-9]+\n");
    52 
    52 
    53     output.shouldHaveExitValue(0);
    53     output.shouldHaveExitValue(0);
    54   }
    54   }
    55 
    55 
    56   static class GCTest {
    56   static class GCTest {