< prev index next >

test/gc/arguments/TestSurvivorAlignmentInBytesOption.java

Print this page
rev 7469 : 8066143: [TESTBUG] New tests in gc/survivorAlignment/ fails
Reviewed-by:

*** 20,52 **** * or visit www.oracle.com if you need additional information or have any * questions. */ import com.oracle.java.testlibrary.ExitCode; - import com.oracle.java.testlibrary.Utils; import com.oracle.java.testlibrary.cli.CommandLineOptionTest; - import java.util.Collections; - import java.util.LinkedList; - import java.util.List; - /** * @test * @bug 8031323 * @summary Verify SurvivorAlignmentInBytes option processing. * @library /testlibrary * @run main TestSurvivorAlignmentInBytesOption */ public class TestSurvivorAlignmentInBytesOption { - private static final String[] FILTERED_VM_OPTIONS - = Utils.getFilteredTestJavaOpts( - "UnlockExperimentalVMOptions", - "SurvivorAlignmentInBytes", - "ObjectAlignmentInBytes"); - public static void main(String args[]) throws Throwable { String optionName = "SurvivorAlignmentInBytes"; String optionIsExperimental = CommandLineOptionTest.getExperimentalOptionErrorMessage( optionName); String valueIsTooSmall= ".*SurvivorAlignmentInBytes=.*must be greater" + " than ObjectAlignmentInBytes.*"; --- 20,47 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ import com.oracle.java.testlibrary.ExitCode; import com.oracle.java.testlibrary.cli.CommandLineOptionTest; /** * @test * @bug 8031323 * @summary Verify SurvivorAlignmentInBytes option processing. * @library /testlibrary + * @requires vm.opt.SurvivorAlignmentInBytes == null + * & vm.opt.ObjectAlignmentInBytes == null + * & vm.opt.UnlockExperimentalVMOptions == null + * & (vm.opt.IgnoreUnrecognizedVMOptions == null + * | vm.opt.IgnoreUnrecognizedVMOptions == "false") * @run main TestSurvivorAlignmentInBytesOption */ public class TestSurvivorAlignmentInBytesOption { public static void main(String args[]) throws Throwable { String optionName = "SurvivorAlignmentInBytes"; + String unlockExperimentalVMOpts = "UnlockExperimentalVMOptions"; String optionIsExperimental = CommandLineOptionTest.getExperimentalOptionErrorMessage( optionName); String valueIsTooSmall= ".*SurvivorAlignmentInBytes=.*must be greater" + " than ObjectAlignmentInBytes.*";
*** 56,120 **** // Verify that without -XX:+UnlockExperimentalVMOptions usage of // SurvivorAlignmentInBytes option will cause JVM startup failure // with the warning message saying that that option is experimental. CommandLineOptionTest.verifyJVMStartup( new String[]{optionIsExperimental}, null, ExitCode.FAIL, false, - TestSurvivorAlignmentInBytesOption.prepareOptions( "-XX:-UnlockExperimentalVMOptions", ! CommandLineOptionTest.prepareNumericFlag( ! optionName, 64))); // Verify that with -XX:+UnlockExperimentalVMOptions passed to JVM // usage of SurvivorAlignmentInBytes option won't cause JVM startup // failure. CommandLineOptionTest.verifyJVMStartup( null, new String[]{optionIsExperimental}, ExitCode.OK, false, ! TestSurvivorAlignmentInBytesOption.prepareOptions( ! CommandLineOptionTest.prepareNumericFlag( ! optionName, 64))); // Verify that if specified SurvivorAlignmentInBytes is lower then // ObjectAlignmentInBytes, then the JVM startup will fail with // appropriate error message. CommandLineOptionTest.verifyJVMStartup( new String[]{valueIsTooSmall}, null, ExitCode.FAIL, false, ! TestSurvivorAlignmentInBytesOption.prepareOptions( ! CommandLineOptionTest.prepareNumericFlag( ! optionName, 2))); // Verify that if specified SurvivorAlignmentInBytes value is not // a power of 2 then the JVM startup will fail with appropriate error // message. CommandLineOptionTest.verifyJVMStartup( new String[]{mustBePowerOf2}, null, ExitCode.FAIL, false, ! TestSurvivorAlignmentInBytesOption.prepareOptions( ! CommandLineOptionTest.prepareNumericFlag( ! optionName, 127))); // Verify that if SurvivorAlignmentInBytes has correct value, then // the JVM will be started without errors. CommandLineOptionTest.verifyJVMStartup( null, new String[]{".*SurvivorAlignmentInBytes.*"}, ExitCode.OK, false, ! TestSurvivorAlignmentInBytesOption.prepareOptions( ! CommandLineOptionTest.prepareNumericFlag( ! optionName, 128))); // Verify that we can setup different SurvivorAlignmentInBytes values. for (int alignment = 32; alignment <= 128; alignment *= 2) { CommandLineOptionTest.verifyOptionValue(optionName, ! Integer.toString(alignment), false, ! TestSurvivorAlignmentInBytesOption.prepareOptions( CommandLineOptionTest.prepareNumericFlag( ! optionName, alignment))); } } - - private static String[] prepareOptions(String... options) { - List<String> finalOptions = new LinkedList<>(); - Collections.addAll(finalOptions, - TestSurvivorAlignmentInBytesOption.FILTERED_VM_OPTIONS); - finalOptions.add(CommandLineOptionTest.UNLOCK_EXPERIMENTAL_VM_OPTIONS); - Collections.addAll(finalOptions, options); - return finalOptions.toArray(new String[finalOptions.size()]); - } } --- 51,107 ---- // Verify that without -XX:+UnlockExperimentalVMOptions usage of // SurvivorAlignmentInBytes option will cause JVM startup failure // with the warning message saying that that option is experimental. CommandLineOptionTest.verifyJVMStartup( new String[]{optionIsExperimental}, null, ExitCode.FAIL, false, "-XX:-UnlockExperimentalVMOptions", ! CommandLineOptionTest.prepareBooleanFlag( ! unlockExperimentalVMOpts, false), ! CommandLineOptionTest.prepareNumericFlag(optionName, 64)); // Verify that with -XX:+UnlockExperimentalVMOptions passed to JVM // usage of SurvivorAlignmentInBytes option won't cause JVM startup // failure. CommandLineOptionTest.verifyJVMStartup( null, new String[]{optionIsExperimental}, ExitCode.OK, false, ! CommandLineOptionTest.prepareBooleanFlag( ! unlockExperimentalVMOpts, true), ! CommandLineOptionTest.prepareNumericFlag(optionName, 64)); // Verify that if specified SurvivorAlignmentInBytes is lower then // ObjectAlignmentInBytes, then the JVM startup will fail with // appropriate error message. CommandLineOptionTest.verifyJVMStartup( new String[]{valueIsTooSmall}, null, ExitCode.FAIL, false, ! CommandLineOptionTest.prepareBooleanFlag( ! unlockExperimentalVMOpts, true), ! CommandLineOptionTest.prepareNumericFlag(optionName, 2)); // Verify that if specified SurvivorAlignmentInBytes value is not // a power of 2 then the JVM startup will fail with appropriate error // message. CommandLineOptionTest.verifyJVMStartup( new String[]{mustBePowerOf2}, null, ExitCode.FAIL, false, ! CommandLineOptionTest.prepareBooleanFlag( ! unlockExperimentalVMOpts, true), ! CommandLineOptionTest.prepareNumericFlag(optionName, 127)); // Verify that if SurvivorAlignmentInBytes has correct value, then // the JVM will be started without errors. CommandLineOptionTest.verifyJVMStartup( null, new String[]{".*SurvivorAlignmentInBytes.*"}, ExitCode.OK, false, ! CommandLineOptionTest.prepareBooleanFlag( ! unlockExperimentalVMOpts, true), ! CommandLineOptionTest.prepareNumericFlag(optionName, 128)); // Verify that we can setup different SurvivorAlignmentInBytes values. for (int alignment = 32; alignment <= 128; alignment *= 2) { CommandLineOptionTest.verifyOptionValue(optionName, ! Integer.toString(alignment), ! CommandLineOptionTest.prepareBooleanFlag( ! unlockExperimentalVMOpts, true), CommandLineOptionTest.prepareNumericFlag( ! optionName, alignment)); } } }
< prev index next >