test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java
--- a/test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java Tue Aug 28 16:01:01 2018 -0700
+++ b/test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java Tue Aug 28 16:01:12 2018 -0700
@@ -21,19 +21,122 @@
* questions.
*/
+// --- start auto-generated
+// the following portion is auto-generated by TestOptionsWithRanges_generate.sh. Do not edit manually.
+/*
+ * @test
+ * @bug 8205633
+ * @summary Test VM Options with ranges (1 of 10)
+ * @library /test/lib /runtime/CommandLine/OptionsValidation/common
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * jdk.attach/sun.tools.attach
+ * jdk.internal.jvmstat/sun.jvmstat.monitor
+ * @run main/othervm/timeout=1800 TestOptionsWithRanges 1 of 10
+ */
/*
* @test
* @bug 8205633
- * @summary Test VM Options with ranges
+ * @summary Test VM Options with ranges (2 of 10)
+ * @library /test/lib /runtime/CommandLine/OptionsValidation/common
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * jdk.attach/sun.tools.attach
+ * jdk.internal.jvmstat/sun.jvmstat.monitor
+ * @run main/othervm/timeout=1800 TestOptionsWithRanges 2 of 10
+ */
+/*
+ * @test
+ * @bug 8205633
+ * @summary Test VM Options with ranges (3 of 10)
+ * @library /test/lib /runtime/CommandLine/OptionsValidation/common
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * jdk.attach/sun.tools.attach
+ * jdk.internal.jvmstat/sun.jvmstat.monitor
+ * @run main/othervm/timeout=1800 TestOptionsWithRanges 3 of 10
+ */
+/*
+ * @test
+ * @bug 8205633
+ * @summary Test VM Options with ranges (4 of 10)
+ * @library /test/lib /runtime/CommandLine/OptionsValidation/common
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * jdk.attach/sun.tools.attach
+ * jdk.internal.jvmstat/sun.jvmstat.monitor
+ * @run main/othervm/timeout=1800 TestOptionsWithRanges 4 of 10
+ */
+/*
+ * @test
+ * @bug 8205633
+ * @summary Test VM Options with ranges (5 of 10)
* @library /test/lib /runtime/CommandLine/OptionsValidation/common
* @modules java.base/jdk.internal.misc
* java.management
* jdk.attach/sun.tools.attach
* jdk.internal.jvmstat/sun.jvmstat.monitor
- * @run main/othervm/timeout=1800 TestOptionsWithRanges
+ * @run main/othervm/timeout=1800 TestOptionsWithRanges 5 of 10
+ */
+/*
+ * @test
+ * @bug 8205633
+ * @summary Test VM Options with ranges (6 of 10)
+ * @library /test/lib /runtime/CommandLine/OptionsValidation/common
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * jdk.attach/sun.tools.attach
+ * jdk.internal.jvmstat/sun.jvmstat.monitor
+ * @run main/othervm/timeout=1800 TestOptionsWithRanges 6 of 10
+ */
+/*
+ * @test
+ * @bug 8205633
+ * @summary Test VM Options with ranges (7 of 10)
+ * @library /test/lib /runtime/CommandLine/OptionsValidation/common
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * jdk.attach/sun.tools.attach
+ * jdk.internal.jvmstat/sun.jvmstat.monitor
+ * @run main/othervm/timeout=1800 TestOptionsWithRanges 7 of 10
*/
+/*
+ * @test
+ * @bug 8205633
+ * @summary Test VM Options with ranges (8 of 10)
+ * @library /test/lib /runtime/CommandLine/OptionsValidation/common
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * jdk.attach/sun.tools.attach
+ * jdk.internal.jvmstat/sun.jvmstat.monitor
+ * @run main/othervm/timeout=1800 TestOptionsWithRanges 8 of 10
+ */
+/*
+ * @test
+ * @bug 8205633
+ * @summary Test VM Options with ranges (9 of 10)
+ * @library /test/lib /runtime/CommandLine/OptionsValidation/common
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * jdk.attach/sun.tools.attach
+ * jdk.internal.jvmstat/sun.jvmstat.monitor
+ * @run main/othervm/timeout=1800 TestOptionsWithRanges 9 of 10
+ */
+/*
+ * @test
+ * @bug 8205633
+ * @summary Test VM Options with ranges (10 of 10)
+ * @library /test/lib /runtime/CommandLine/OptionsValidation/common
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * jdk.attach/sun.tools.attach
+ * jdk.internal.jvmstat/sun.jvmstat.monitor
+ * @run main/othervm/timeout=1800 TestOptionsWithRanges 10 of 10
+ */
+// --- end auto-generated
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import jdk.test.lib.Asserts;
@@ -72,9 +175,30 @@
}
}
+ // Return a subset of the test cases, so we can break up allOptionsAsMap into small parts
+ // and use them in separate JTREG @test blocks (for parallel execution).
+ //
+ // args[] must be {part, "of", numParts}. The first part should be "1".
+ private static List<JVMOption> getTestSubset(String[] args) throws Exception {
+ int part = Integer.parseInt(args[0]) - 1;
+ int numParts = Integer.parseInt(args[2]);
+ List<String> keys = new ArrayList<>(allOptionsAsMap.keySet());
+ Collections.sort(keys);
+ int numTests = keys.size();
+ int start = numTests * (part ) / numParts;
+ int end = numTests * (part + 1) / numParts;
+
+ List<JVMOption> subset = new ArrayList<>();
+ for (int i=start; i < end; i++) {
+ subset.add(allOptionsAsMap.get(keys.get(i)));
+ }
+ System.out.println("Generating subset [" + start + " ... " + end + ") of " +
+ subset.size() + " tests out of " + keys.size() + " total tests");
+ return subset;
+ }
+
public static void main(String[] args) throws Exception {
int failedTests;
- List<JVMOption> allOptions;
allOptionsAsMap = JVMOptionsUtils.getOptionsWithRangeAsMap(origin -> (!(origin.contains("develop") || origin.contains("notproduct"))));
@@ -129,13 +253,13 @@
excludeTestMaxRange("NonNMethodCodeHeapSize");
excludeTestMaxRange("CodeCacheExpansionSize");
- allOptions = new ArrayList<>(allOptionsAsMap.values());
+ List<JVMOption> testSubset = getTestSubset(args);
- Asserts.assertGT(allOptions.size(), 0, "Options with ranges not found!");
+ Asserts.assertGT(testSubset.size(), 0, "Options with ranges not found!");
- System.out.println("Parsed " + allOptions.size() + " options with ranges. Start test!");
+ System.out.println("Parsed " + testSubset.size() + " options with ranges. Start test!");
- failedTests = JVMOptionsUtils.runCommandLineTests(allOptions);
+ failedTests = JVMOptionsUtils.runCommandLineTests(testSubset);
Asserts.assertEQ(failedTests, 0,
String.format("%d tests failed! %s", failedTests, JVMOptionsUtils.getMessageWithFailures()));