hotspot/test/gc/g1/TestGCLogMessages.java
changeset 46456 9c1f0551e0a2
parent 46358 10e532e20c7d
child 46571 c70b36f0730d
--- a/hotspot/test/gc/g1/TestGCLogMessages.java	Thu May 11 23:41:57 2017 -0400
+++ b/hotspot/test/gc/g1/TestGCLogMessages.java	Fri May 12 11:38:20 2017 +0200
@@ -23,7 +23,7 @@
 
 /*
  * @test TestGCLogMessages
- * @bug 8035406 8027295 8035398 8019342 8027959 8048179 8027962 8069330 8076463 8150630 8160055 8177059
+ * @bug 8035406 8027295 8035398 8019342 8027959 8048179 8027962 8069330 8076463 8150630 8160055 8177059 8166191
  * @summary Ensure the output for a minor GC with G1
  * includes the expected necessary messages.
  * @key gc
@@ -152,6 +152,7 @@
         new TestGCLogMessages().testNormalLogs();
         new TestGCLogMessages().testWithToSpaceExhaustionLogs();
         new TestGCLogMessages().testWithInitialMark();
+        new TestGCLogMessages().testExpandHeap();
     }
 
     private void testNormalLogs() throws Exception {
@@ -227,6 +228,22 @@
         output.shouldHaveExitValue(0);
     }
 
+    private void testExpandHeap() throws Exception {
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
+                                                                  "-Xmx10M",
+                                                                  "-Xbootclasspath/a:.",
+                                                                  "-Xlog:gc+ergo+heap=debug",
+                                                                  "-XX:+UnlockDiagnosticVMOptions",
+                                                                  "-XX:+WhiteBoxAPI",
+                                                                  GCTest.class.getName());
+
+        OutputAnalyzer output = new OutputAnalyzer(pb.start());
+        output.shouldContain("Expand the heap. requested expansion amount: ");
+        output.shouldContain("B expansion amount: ");
+        output.shouldHaveExitValue(0);
+    }
+
+
     static class GCTest {
         private static byte[] garbage;
         public static void main(String [] args) {