28 * @library /test/lib 29 * @modules java.base/jdk.internal.misc 30 * java.management 31 * @run driver TestRegionSizeArgs 32 */ 33 34 import jdk.test.lib.process.ProcessTools; 35 import jdk.test.lib.process.OutputAnalyzer; 36 37 public class TestRegionSizeArgs { 38 public static void main(String[] args) throws Exception { 39 testInvalidRegionSizes(); 40 testMinRegionSize(); 41 testMaxRegionSize(); 42 } 43 44 private static void testInvalidRegionSizes() throws Exception { 45 46 { 47 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC", 48 "-Xms100m", 49 "-XX:ShenandoahHeapRegionSize=200m", 50 "-version"); 51 OutputAnalyzer output = new OutputAnalyzer(pb.start()); 52 output.shouldMatch("Invalid -XX:ShenandoahHeapRegionSize option"); 53 output.shouldHaveExitValue(1); 54 } 55 56 { 57 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC", 58 "-Xms100m", 59 "-XX:ShenandoahHeapRegionSize=11m", 60 "-version"); 61 OutputAnalyzer output = new OutputAnalyzer(pb.start()); 62 output.shouldMatch("Invalid -XX:ShenandoahHeapRegionSize option"); 63 output.shouldHaveExitValue(1); 64 } 65 66 { 67 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC", | 28 * @library /test/lib 29 * @modules java.base/jdk.internal.misc 30 * java.management 31 * @run driver TestRegionSizeArgs 32 */ 33 34 import jdk.test.lib.process.ProcessTools; 35 import jdk.test.lib.process.OutputAnalyzer; 36 37 public class TestRegionSizeArgs { 38 public static void main(String[] args) throws Exception { 39 testInvalidRegionSizes(); 40 testMinRegionSize(); 41 testMaxRegionSize(); 42 } 43 44 private static void testInvalidRegionSizes() throws Exception { 45 46 { 47 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC", 48 "-Xms2m", 49 "-version"); 50 OutputAnalyzer output = new OutputAnalyzer(pb.start()); 51 output.shouldMatch("Initial heap size"); 52 output.shouldHaveExitValue(1); 53 } 54 55 { 56 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC", 57 "-Xms4m", 58 "-version"); 59 OutputAnalyzer output = new OutputAnalyzer(pb.start()); 60 output.shouldHaveExitValue(0); 61 } 62 63 { 64 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC", 65 "-Xms8m", 66 "-version"); 67 OutputAnalyzer output = new OutputAnalyzer(pb.start()); 68 output.shouldHaveExitValue(0); 69 } 70 71 { 72 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC", 73 "-Xms100m", 74 "-XX:ShenandoahHeapRegionSize=200m", 75 "-version"); 76 OutputAnalyzer output = new OutputAnalyzer(pb.start()); 77 output.shouldMatch("Invalid -XX:ShenandoahHeapRegionSize option"); 78 output.shouldHaveExitValue(1); 79 } 80 81 { 82 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC", 83 "-Xms100m", 84 "-XX:ShenandoahHeapRegionSize=11m", 85 "-version"); 86 OutputAnalyzer output = new OutputAnalyzer(pb.start()); 87 output.shouldMatch("Invalid -XX:ShenandoahHeapRegionSize option"); 88 output.shouldHaveExitValue(1); 89 } 90 91 { 92 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC", |