< prev index next >

test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java

Print this page

*** 19,41 **** * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ - /* - * @test - * @bug 8205633 - * @summary Test VM Options with ranges - * @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 - */ - import java.util.ArrayList; import java.util.List; import java.util.Map; import jdk.test.lib.Asserts; import optionsvalidation.JVMOption; import optionsvalidation.JVMOptionsUtils; --- 19,30 ---- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ import java.util.ArrayList; + import java.util.Collections; import java.util.List; import java.util.Map; import jdk.test.lib.Asserts; import optionsvalidation.JVMOption; import optionsvalidation.JVMOptionsUtils;
*** 70,82 **** if (option != null) { option.setAllowedExitCodes(allowedExitCodes); } } public static void main(String[] args) throws Exception { int failedTests; - List<JVMOption> allOptions; allOptionsAsMap = JVMOptionsUtils.getOptionsWithRangeAsMap(origin -> (!(origin.contains("develop") || origin.contains("notproduct")))); /* * Remove CICompilerCount from testing because currently it can hang system --- 59,92 ---- if (option != null) { option.setAllowedExitCodes(allowedExitCodes); } } + // Return a subset of the test cases, so we can break up allOptionsAsMap into small parts + // and test them in separate JTREG tests. See ./TestOptionsWithRanges_*.java + // + // 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; allOptionsAsMap = JVMOptionsUtils.getOptionsWithRangeAsMap(origin -> (!(origin.contains("develop") || origin.contains("notproduct")))); /* * Remove CICompilerCount from testing because currently it can hang system
*** 127,143 **** excludeTestMaxRange("NonProfiledCodeHeapSize"); excludeTestMaxRange("ProfiledCodeHeapSize"); excludeTestMaxRange("NonNMethodCodeHeapSize"); excludeTestMaxRange("CodeCacheExpansionSize"); ! allOptions = new ArrayList<>(allOptionsAsMap.values()); ! Asserts.assertGT(allOptions.size(), 0, "Options with ranges not found!"); ! System.out.println("Parsed " + allOptions.size() + " options with ranges. Start test!"); ! failedTests = JVMOptionsUtils.runCommandLineTests(allOptions); Asserts.assertEQ(failedTests, 0, String.format("%d tests failed! %s", failedTests, JVMOptionsUtils.getMessageWithFailures())); } } --- 137,153 ---- excludeTestMaxRange("NonProfiledCodeHeapSize"); excludeTestMaxRange("ProfiledCodeHeapSize"); excludeTestMaxRange("NonNMethodCodeHeapSize"); excludeTestMaxRange("CodeCacheExpansionSize"); ! List<JVMOption> testSubset = getTestSubset(args); ! Asserts.assertGT(testSubset.size(), 0, "Options with ranges not found!"); ! System.out.println("Parsed " + testSubset.size() + " options with ranges. Start test!"); ! failedTests = JVMOptionsUtils.runCommandLineTests(testSubset); Asserts.assertEQ(failedTests, 0, String.format("%d tests failed! %s", failedTests, JVMOptionsUtils.getMessageWithFailures())); } }
< prev index next >