Mercurial > hg > graal-jvmci-8
comparison test/gc/arguments/TestDynMaxHeapFreeRatio.java @ 20238:e2976043eac3 hs25.40-b03
8039489: Refactor test framework for dynamic VM options
Reviewed-by: jmasa, ehelin, jwilhelm
author | dfazunen |
---|---|
date | Tue, 20 May 2014 18:25:14 +0400 |
parents | 3b4e1b5c13a0 |
children |
comparison
equal
deleted
inserted
replaced
20237:99dbb9cd9521 | 20238:e2976043eac3 |
---|---|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | 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 | 20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. | 21 * questions. |
22 */ | 22 */ |
23 | 23 |
24 import static com.oracle.java.testlibrary.Asserts.assertEQ; | |
25 import static com.oracle.java.testlibrary.Asserts.assertFalse; | |
26 import static com.oracle.java.testlibrary.Asserts.assertTrue; | |
27 import com.oracle.java.testlibrary.DynamicVMOption; | |
28 | |
24 /** | 29 /** |
25 * @test TestDynMaxHeapFreeRatio | 30 * @test TestDynMaxHeapFreeRatio |
26 * @bug 8028391 | 31 * @bug 8028391 |
27 * @summary Verify that MaxHeapFreeRatio flag is manageable | 32 * @summary Verify that MaxHeapFreeRatio flag is manageable |
28 * @library /testlibrary | 33 * @library /testlibrary |
31 * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 -XX:-UseAdaptiveSizePolicy TestDynMaxHeapFreeRatio | 36 * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 -XX:-UseAdaptiveSizePolicy TestDynMaxHeapFreeRatio |
32 * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 TestDynMaxHeapFreeRatio | 37 * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 TestDynMaxHeapFreeRatio |
33 * @run main/othervm -XX:MinHeapFreeRatio=51 -XX:MaxHeapFreeRatio=52 TestDynMaxHeapFreeRatio | 38 * @run main/othervm -XX:MinHeapFreeRatio=51 -XX:MaxHeapFreeRatio=52 TestDynMaxHeapFreeRatio |
34 * @run main/othervm -XX:MinHeapFreeRatio=75 -XX:MaxHeapFreeRatio=100 TestDynMaxHeapFreeRatio | 39 * @run main/othervm -XX:MinHeapFreeRatio=75 -XX:MaxHeapFreeRatio=100 TestDynMaxHeapFreeRatio |
35 */ | 40 */ |
36 import com.oracle.java.testlibrary.TestDynamicVMOption; | 41 public class TestDynMaxHeapFreeRatio { |
37 import com.oracle.java.testlibrary.DynamicVMOptionChecker; | |
38 | |
39 public class TestDynMaxHeapFreeRatio extends TestDynamicVMOption { | |
40 | |
41 public static final String MinFreeRatioFlagName = "MinHeapFreeRatio"; | |
42 public static final String MaxFreeRatioFlagName = "MaxHeapFreeRatio"; | |
43 | |
44 public TestDynMaxHeapFreeRatio() { | |
45 super(MaxFreeRatioFlagName); | |
46 } | |
47 | |
48 public void test() { | |
49 | |
50 int minHeapFreeValue = DynamicVMOptionChecker.getIntValue(MinFreeRatioFlagName); | |
51 System.out.println(MinFreeRatioFlagName + " = " + minHeapFreeValue); | |
52 | |
53 testPercentageValues(); | |
54 | |
55 checkInvalidValue(Integer.toString(minHeapFreeValue - 1)); | |
56 checkValidValue(Integer.toString(minHeapFreeValue)); | |
57 checkValidValue("100"); | |
58 } | |
59 | 42 |
60 public static void main(String args[]) throws Exception { | 43 public static void main(String args[]) throws Exception { |
61 new TestDynMaxHeapFreeRatio().test(); | 44 |
45 // low boundary value | |
46 int minValue = DynamicVMOption.getInt("MinHeapFreeRatio"); | |
47 System.out.println("MinHeapFreeRatio= " + minValue); | |
48 | |
49 String badValues[] = { | |
50 null, | |
51 "", | |
52 "not a number", | |
53 "8.5", "-0.01", | |
54 Integer.toString(Integer.MIN_VALUE), | |
55 Integer.toString(Integer.MAX_VALUE), | |
56 Integer.toString(minValue - 1), | |
57 "-1024", "-1", "101", "1997" | |
58 }; | |
59 | |
60 String goodValues[] = { | |
61 Integer.toString(minValue), | |
62 Integer.toString(minValue + 1), | |
63 Integer.toString((minValue + 100) / 2), | |
64 "99", "100" | |
65 }; | |
66 | |
67 DynamicVMOption option = new DynamicVMOption("MaxHeapFreeRatio"); | |
68 | |
69 assertTrue(option.isWriteable(), "Option " + option.name | |
70 + " is expected to be writable"); | |
71 | |
72 for (String v : badValues) { | |
73 assertFalse(option.isValidValue(v), | |
74 "'" + v + "' is expected to be illegal for flag " + option.name); | |
75 } | |
76 for (String v : goodValues) { | |
77 option.setValue(v); | |
78 String newValue = option.getValue(); | |
79 assertEQ(v, newValue); | |
80 } | |
62 } | 81 } |
63 | |
64 } | 82 } |