< prev index next >
test/gc/logging/TestPrintReferences.java
Print this page
rev 13070 : [mq]: webrev.0a
rev 13071 : [mq]: webrev.1
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -35,22 +35,39 @@
import jdk.test.lib.process.ProcessTools;
public class TestPrintReferences {
public static void main(String[] args) throws Exception {
ProcessBuilder pb_enabled =
- ProcessTools.createJavaProcessBuilder("-Xlog:gc+ref=debug", "-Xmx10M", GCTest.class.getName());
+ ProcessTools.createJavaProcessBuilder("-Xlog:gc+ref=debug", "-Xmx32M", GCTest.class.getName());
OutputAnalyzer output = new OutputAnalyzer(pb_enabled.start());
- String countRegex = "[0-9]+ refs";
- String timeRegex = "[0-9]+[.,][0-9]+ms";
-
- output.shouldMatch(".* GC\\([0-9]+\\) SoftReference " + timeRegex + "\n" +
- ".* GC\\([0-9]+\\) WeakReference " + timeRegex + "\n" +
- ".* GC\\([0-9]+\\) FinalReference " + timeRegex + "\n" +
- ".* GC\\([0-9]+\\) PhantomReference " + timeRegex + "\n" +
- ".* GC\\([0-9]+\\) JNI Weak Reference " + timeRegex + "\n" +
- ".* GC\\([0-9]+\\) Ref Counts: Soft: [0-9]+ Weak: [0-9]+ Final: [0-9]+ Phantom: [0-9]+\n");
+ String gcLogTimeRegex = ".* GC\\([0-9]+\\)";
+ String countRegex = "[0-9]+";
+ String timeRegex = "[0-9]+[.,][0-9]+ms\n";
+ String refDetailRegex = gcLogTimeRegex + " Phase2: " + timeRegex +
+ gcLogTimeRegex + " Phase3: " + timeRegex +
+ gcLogTimeRegex + " Cleared: " + countRegex + "\n" +
+ gcLogTimeRegex + " Discovered: " + countRegex + "\n";
+ String softRefDetailRegex = gcLogTimeRegex + " Phase1: " + timeRegex +
+ refDetailRegex;
+
+ output.shouldMatch(/* SoftReference processing */
+ gcLogTimeRegex + " SoftReference " + timeRegex + softRefDetailRegex +
+ /* WeakReference processing */
+ gcLogTimeRegex + " WeakReference " + timeRegex + refDetailRegex +
+ /* FinalReference processing */
+ gcLogTimeRegex + " FinalReference " + timeRegex + refDetailRegex +
+ /* PhantomReference processing */
+ gcLogTimeRegex + " PhantomReference " + timeRegex + refDetailRegex +
+ /* JNI Weak Reference processing */
+ gcLogTimeRegex + " JNI Weak Reference " + timeRegex +
+ /* Enqueue Reference Lists */
+ gcLogTimeRegex + " Enqueue reference lists " + timeRegex +
+ /* Enqueued Stats */
+ gcLogTimeRegex + " Ref Counts: Soft: " + countRegex + " Weak: " + countRegex +
+ " Final: " + countRegex + " Phantom: " + countRegex
+ );
output.shouldHaveExitValue(0);
}
static class GCTest {
< prev index next >