< prev index next >

test/gc/logging/TestPrintReferences.java

Print this page




  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 /*
  25  * @test TestPrintReferences
  26  * @bug 8136991
  27  * @summary Validate the reference processing logging
  28  * @key gc
  29  * @library /testlibrary
  30  * @modules java.base/sun.misc
  31  *          java.management
  32  */
  33 
  34 import jdk.test.lib.ProcessTools;
  35 import jdk.test.lib.OutputAnalyzer;
  36 
  37 public class TestPrintReferences {
  38   public static void main(String[] args) throws Exception {
  39     ProcessBuilder pb_enabled =
  40       ProcessTools.createJavaProcessBuilder("-XX:+PrintGCDetails", "-XX:+PrintReferenceGC", "-Xmx10M", GCTest.class.getName());
  41     OutputAnalyzer output = new OutputAnalyzer(pb_enabled.start());
  42 
  43     String countRegex = "[0-9]+ refs";
  44     String timeRegex = "[0-9]+[.,][0-9]+ secs";
  45 
  46     output.shouldMatch(
  47       "#[0-9]+: \\[SoftReference, " + countRegex + ", " + timeRegex + "\\]" +
  48       "#[0-9]+: \\[WeakReference, " + countRegex + ", " + timeRegex + "\\]" +
  49       "#[0-9]+: \\[FinalReference, " + countRegex + ", " + timeRegex + "\\]" +
  50       "#[0-9]+: \\[PhantomReference, " + countRegex + ", " + timeRegex + "\\]" +
  51       "#[0-9]+: \\[JNI Weak Reference, (" + countRegex + ", )?" + timeRegex + "\\]");
  52 
  53     output.shouldHaveExitValue(0);
  54   }
  55 
  56   static class GCTest {
  57     public static void main(String [] args) {
  58       System.gc();
  59     }
  60   }
  61 }


  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 /*
  25  * @test TestPrintReferences
  26  * @bug 8136991
  27  * @summary Validate the reference processing logging
  28  * @key gc
  29  * @library /testlibrary
  30  * @modules java.base/sun.misc
  31  *          java.management
  32  */
  33 
  34 import jdk.test.lib.ProcessTools;
  35 import jdk.test.lib.OutputAnalyzer;
  36 
  37 public class TestPrintReferences {
  38   public static void main(String[] args) throws Exception {
  39     ProcessBuilder pb_enabled =
  40       ProcessTools.createJavaProcessBuilder("-Xlog:gc+ref=debug", "-Xmx10M", GCTest.class.getName());
  41     OutputAnalyzer output = new OutputAnalyzer(pb_enabled.start());
  42 
  43     String countRegex = "[0-9]+ refs";
  44     String timeRegex = "\\([0-9]+[.,][0-9]+s, [0-9]+[.,][0-9]+s\\) [0-9]+[.,][0-9]+ms";
  45 
  46     output.shouldMatch(".* GC\\([0-9]+\\) SoftReference " + timeRegex + "\n" +
  47                        ".* GC\\([0-9]+\\) WeakReference " + timeRegex + "\n" +
  48                        ".* GC\\([0-9]+\\) FinalReference " + timeRegex + "\n" +
  49                        ".* GC\\([0-9]+\\) PhantomReference " + timeRegex + "\n" +
  50                        ".* GC\\([0-9]+\\) JNI Weak Reference " + timeRegex + "\n" +
  51                        ".* GC\\([0-9]+\\) Ref Counts: Soft: [0-9]+ Weak: [0-9]+ Final: [0-9]+ Phantom: [0-9]+\n");
  52 
  53     output.shouldHaveExitValue(0);
  54   }
  55 
  56   static class GCTest {
  57     public static void main(String [] args) {
  58       System.gc();
  59     }
  60   }
  61 }
< prev index next >