Wed, 03 Sep 2014 09:25:44 +0200
Merge
1 /*
2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
24 /*
25 * @test TestSummarizeRSetStats.java
26 * @bug 8013895
27 * @library /testlibrary
28 * @build TestSummarizeRSetStatsTools TestSummarizeRSetStats
29 * @summary Verify output of -XX:+G1SummarizeRSetStats
30 * @run main TestSummarizeRSetStats
31 *
32 * Test the output of G1SummarizeRSetStats in conjunction with G1SummarizeRSetStatsPeriod.
33 */
35 public class TestSummarizeRSetStats {
37 public static void main(String[] args) throws Exception {
38 String result;
40 if (!TestSummarizeRSetStatsTools.testingG1GC()) {
41 return;
42 }
44 // no remembered set summary output
45 result = TestSummarizeRSetStatsTools.runTest(null, 0);
46 TestSummarizeRSetStatsTools.expectRSetSummaries(result, 0, 0);
48 // no remembered set summary output
49 result = TestSummarizeRSetStatsTools.runTest(null, 2);
50 TestSummarizeRSetStatsTools.expectRSetSummaries(result, 0, 0);
52 // no remembered set summary output
53 result = TestSummarizeRSetStatsTools.runTest(new String[] { "-XX:G1SummarizeRSetStatsPeriod=1" }, 3);
54 TestSummarizeRSetStatsTools.expectRSetSummaries(result, 0, 0);
56 // single remembered set summary output at the end
57 result = TestSummarizeRSetStatsTools.runTest(new String[] { "-XX:+G1SummarizeRSetStats" }, 0);
58 TestSummarizeRSetStatsTools.expectRSetSummaries(result, 1, 0);
60 // single remembered set summary output at the end
61 result = TestSummarizeRSetStatsTools.runTest(new String[] { "-XX:+G1SummarizeRSetStats" }, 2);
62 TestSummarizeRSetStatsTools.expectRSetSummaries(result, 1, 0);
64 // single remembered set summary output
65 result = TestSummarizeRSetStatsTools.runTest(new String[] { "-XX:+G1SummarizeRSetStats", "-XX:G1SummarizeRSetStatsPeriod=1" }, 0);
66 TestSummarizeRSetStatsTools.expectRSetSummaries(result, 1, 0);
68 // two times remembered set summary output
69 result = TestSummarizeRSetStatsTools.runTest(new String[] { "-XX:+G1SummarizeRSetStats", "-XX:G1SummarizeRSetStatsPeriod=1" }, 1);
70 TestSummarizeRSetStatsTools.expectRSetSummaries(result, 1, 2);
72 // four times remembered set summary output
73 result = TestSummarizeRSetStatsTools.runTest(new String[] { "-XX:+G1SummarizeRSetStats", "-XX:G1SummarizeRSetStatsPeriod=1" }, 3);
74 TestSummarizeRSetStatsTools.expectRSetSummaries(result, 1, 6);
76 // three times remembered set summary output
77 result = TestSummarizeRSetStatsTools.runTest(new String[] { "-XX:+G1SummarizeRSetStats", "-XX:G1SummarizeRSetStatsPeriod=2" }, 3);
78 TestSummarizeRSetStatsTools.expectRSetSummaries(result, 1, 4);
80 // single remembered set summary output
81 result = TestSummarizeRSetStatsTools.runTest(new String[] { "-XX:+G1SummarizeRSetStats", "-XX:G1SummarizeRSetStatsPeriod=100" }, 3);
82 TestSummarizeRSetStatsTools.expectRSetSummaries(result, 1, 2);
83 }
84 }