comparison test/gc/arguments/TestDynMinHeapFreeRatio.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
31 * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 -XX:-UseAdaptiveSizePolicy TestDynMinHeapFreeRatio 31 * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 -XX:-UseAdaptiveSizePolicy TestDynMinHeapFreeRatio
32 * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 TestDynMinHeapFreeRatio 32 * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 TestDynMinHeapFreeRatio
33 * @run main/othervm -XX:MinHeapFreeRatio=51 -XX:MaxHeapFreeRatio=52 TestDynMinHeapFreeRatio 33 * @run main/othervm -XX:MinHeapFreeRatio=51 -XX:MaxHeapFreeRatio=52 TestDynMinHeapFreeRatio
34 * @run main/othervm -XX:MinHeapFreeRatio=75 -XX:MaxHeapFreeRatio=100 TestDynMinHeapFreeRatio 34 * @run main/othervm -XX:MinHeapFreeRatio=75 -XX:MaxHeapFreeRatio=100 TestDynMinHeapFreeRatio
35 */ 35 */
36 import com.oracle.java.testlibrary.TestDynamicVMOption; 36 import static com.oracle.java.testlibrary.Asserts.assertEQ;
37 import com.oracle.java.testlibrary.DynamicVMOptionChecker; 37 import static com.oracle.java.testlibrary.Asserts.assertFalse;
38 import static com.oracle.java.testlibrary.Asserts.assertTrue;
39 import com.oracle.java.testlibrary.DynamicVMOption;
38 40
39 public class TestDynMinHeapFreeRatio extends TestDynamicVMOption { 41 public class TestDynMinHeapFreeRatio {
40
41 public static final String MinFreeRatioFlagName = "MinHeapFreeRatio";
42 public static final String MaxFreeRatioFlagName = "MaxHeapFreeRatio";
43
44 public TestDynMinHeapFreeRatio() {
45 super(MinFreeRatioFlagName);
46 }
47
48 public void test() {
49 int maxHeapFreeValue = DynamicVMOptionChecker.getIntValue(MaxFreeRatioFlagName);
50 System.out.println(MaxFreeRatioFlagName + " = " + maxHeapFreeValue);
51
52 testPercentageValues();
53
54 checkInvalidValue(Integer.toString(maxHeapFreeValue + 1));
55 checkValidValue(Integer.toString(maxHeapFreeValue));
56 checkValidValue("0");
57 }
58 42
59 public static void main(String args[]) throws Exception { 43 public static void main(String args[]) throws Exception {
60 new TestDynMinHeapFreeRatio().test(); 44
45 // high boundary value
46 int maxValue = DynamicVMOption.getInt("MaxHeapFreeRatio");
47 System.out.println("MaxHeapFreeRatio= " + maxValue);
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(maxValue + 1),
57 "-1024", "-1", "101", "1997"
58 };
59
60 String goodValues[] = {
61 Integer.toString(maxValue),
62 Integer.toString(maxValue - 1),
63 Integer.toString(maxValue / 2),
64 "0", "1"
65 };
66
67 // option under test
68 DynamicVMOption option = new DynamicVMOption("MinHeapFreeRatio");
69
70 assertTrue(option.isWriteable(), "Option " + option.name
71 + " is expected to be writable");
72
73 for (String v : badValues) {
74 assertFalse(option.isValidValue(v),
75 "'" + v + "' is expected to be illegal for flag " + option.name);
76 }
77
78 for (String v : goodValues) {
79 option.setValue(v);
80 String newValue = option.getValue();
81 assertEQ(v, newValue);
82 }
61 } 83 }
62 } 84 }