Mercurial > hg > graal-compiler
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 } |