test/hotspot/jtreg/gc/arguments/TestMaxNewSize.java
changeset 55610 47fdb5b0fa41
parent 54638 9b8926bf85c1
child 59053 ba6c248cae19
equal deleted inserted replaced
55609:377e49b3014c 55610:47fdb5b0fa41
    29  * @bug 7057939
    29  * @bug 7057939
    30  * @summary Make sure that MaxNewSize always has a useful value after argument
    30  * @summary Make sure that MaxNewSize always has a useful value after argument
    31  * processing.
    31  * processing.
    32  * @requires vm.gc.Serial
    32  * @requires vm.gc.Serial
    33  * @library /test/lib
    33  * @library /test/lib
       
    34  * @library /
    34  * @modules java.base/jdk.internal.misc
    35  * @modules java.base/jdk.internal.misc
    35  *          java.management
    36  *          java.management
    36  * @run main gc.arguments.TestMaxNewSize -XX:+UseSerialGC
    37  * @run main gc.arguments.TestMaxNewSize -XX:+UseSerialGC
    37  * @author thomas.schatzl@oracle.com, jesper.wilhelmsson@oracle.com
    38  * @author thomas.schatzl@oracle.com, jesper.wilhelmsson@oracle.com
    38  */
    39  */
    43  * @bug 7057939
    44  * @bug 7057939
    44  * @summary Make sure that MaxNewSize always has a useful value after argument
    45  * @summary Make sure that MaxNewSize always has a useful value after argument
    45  * processing.
    46  * processing.
    46  * @requires vm.gc.Parallel
    47  * @requires vm.gc.Parallel
    47  * @library /test/lib
    48  * @library /test/lib
       
    49  * @library /
    48  * @modules java.base/jdk.internal.misc
    50  * @modules java.base/jdk.internal.misc
    49  *          java.management
    51  *          java.management
    50  * @run main gc.arguments.TestMaxNewSize -XX:+UseParallelGC
    52  * @run main gc.arguments.TestMaxNewSize -XX:+UseParallelGC
    51  * @author thomas.schatzl@oracle.com, jesper.wilhelmsson@oracle.com
    53  * @author thomas.schatzl@oracle.com, jesper.wilhelmsson@oracle.com
    52  */
    54  */
    57  * @bug 7057939
    59  * @bug 7057939
    58  * @summary Make sure that MaxNewSize always has a useful value after argument
    60  * @summary Make sure that MaxNewSize always has a useful value after argument
    59  * processing.
    61  * processing.
    60  * @requires vm.gc.G1
    62  * @requires vm.gc.G1
    61  * @library /test/lib
    63  * @library /test/lib
       
    64  * @library /
    62  * @modules java.base/jdk.internal.misc
    65  * @modules java.base/jdk.internal.misc
    63  *          java.management
    66  *          java.management
    64  * @run main gc.arguments.TestMaxNewSize -XX:+UseG1GC
    67  * @run main gc.arguments.TestMaxNewSize -XX:+UseG1GC
    65  * @author thomas.schatzl@oracle.com, jesper.wilhelmsson@oracle.com
    68  * @author thomas.schatzl@oracle.com, jesper.wilhelmsson@oracle.com
    66  */
    69  */
    70  * @key gc
    73  * @key gc
    71  * @bug 7057939
    74  * @bug 7057939
    72  * @comment Graal does not support CMS
    75  * @comment Graal does not support CMS
    73  * @requires vm.gc.ConcMarkSweep & !vm.graal.enabled
    76  * @requires vm.gc.ConcMarkSweep & !vm.graal.enabled
    74  * @library /test/lib
    77  * @library /test/lib
       
    78  * @library /
    75  * @modules java.base/jdk.internal.misc
    79  * @modules java.base/jdk.internal.misc
    76  *          java.management
    80  *          java.management
    77  * @run main gc.arguments.TestMaxNewSize -XX:+UseConcMarkSweepGC
    81  * @run main gc.arguments.TestMaxNewSize -XX:+UseConcMarkSweepGC
    78  */
    82  */
    79 
    83 
   102   private static void checkIncompatibleNewSize(String[] flags) throws Exception {
   106   private static void checkIncompatibleNewSize(String[] flags) throws Exception {
   103     ArrayList<String> finalargs = new ArrayList<String>();
   107     ArrayList<String> finalargs = new ArrayList<String>();
   104     finalargs.addAll(Arrays.asList(flags));
   108     finalargs.addAll(Arrays.asList(flags));
   105     finalargs.add("-version");
   109     finalargs.add("-version");
   106 
   110 
   107     ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(finalargs.toArray(new String[0]));
   111     ProcessBuilder pb = GCArguments.createJavaProcessBuilder(finalargs.toArray(new String[0]));
   108     OutputAnalyzer output = new OutputAnalyzer(pb.start());
   112     OutputAnalyzer output = new OutputAnalyzer(pb.start());
   109     output.shouldContain("Initial young gen size set larger than the maximum young gen size");
   113     output.shouldContain("Initial young gen size set larger than the maximum young gen size");
   110   }
   114   }
   111 
   115 
   112   private static boolean isRunningG1(String[] args) {
   116   private static boolean isRunningG1(String[] args) {
   125       finalargs.add("-XX:G1HeapRegionSize=1M");
   129       finalargs.add("-XX:G1HeapRegionSize=1M");
   126     }
   130     }
   127     finalargs.add("-XX:+PrintFlagsFinal");
   131     finalargs.add("-XX:+PrintFlagsFinal");
   128     finalargs.add("-version");
   132     finalargs.add("-version");
   129 
   133 
   130     ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(finalargs.toArray(new String[0]));
   134     ProcessBuilder pb = GCArguments.createJavaProcessBuilder(finalargs.toArray(new String[0]));
   131     OutputAnalyzer output = new OutputAnalyzer(pb.start());
   135     OutputAnalyzer output = new OutputAnalyzer(pb.start());
   132     output.shouldHaveExitValue(0);
   136     output.shouldHaveExitValue(0);
   133     String stdout = output.getStdout();
   137     String stdout = output.getStdout();
   134     //System.out.println(stdout);
   138     //System.out.println(stdout);
   135     return getFlagValue("MaxNewSize", stdout);
   139     return getFlagValue("MaxNewSize", stdout);