Mercurial > hg > truffle
diff test/gc/arguments/TestSurvivorAlignmentInBytesOption.java @ 20718:75d8afb5d37a
8066143: [TESTBUG] New tests in gc/survivorAlignment/ fails
Reviewed-by: jmasa
author | fzhinkin |
---|---|
date | Mon, 15 Dec 2014 18:11:51 +0400 |
parents | 4b7c96fba3d8 |
children |
line wrap: on
line diff
--- a/test/gc/arguments/TestSurvivorAlignmentInBytesOption.java Wed Nov 26 14:17:06 2014 +0400 +++ b/test/gc/arguments/TestSurvivorAlignmentInBytesOption.java Mon Dec 15 18:11:51 2014 +0400 @@ -22,29 +22,24 @@ */ 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 + * @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 { - private static final String[] FILTERED_VM_OPTIONS - = Utils.getFilteredTestJavaOpts( - "UnlockExperimentalVMOptions", - "SurvivorAlignmentInBytes", - "ObjectAlignmentInBytes"); - public static void main(String args[]) throws Throwable { String optionName = "SurvivorAlignmentInBytes"; + String unlockExperimentalVMOpts = "UnlockExperimentalVMOptions"; String optionIsExperimental = CommandLineOptionTest.getExperimentalOptionErrorMessage( optionName); @@ -58,63 +53,55 @@ // 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))); + "-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, - TestSurvivorAlignmentInBytesOption.prepareOptions( - CommandLineOptionTest.prepareNumericFlag( - optionName, 64))); + 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, - TestSurvivorAlignmentInBytesOption.prepareOptions( - CommandLineOptionTest.prepareNumericFlag( - optionName, 2))); + 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, - TestSurvivorAlignmentInBytesOption.prepareOptions( - CommandLineOptionTest.prepareNumericFlag( - optionName, 127))); + 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, - TestSurvivorAlignmentInBytesOption.prepareOptions( - CommandLineOptionTest.prepareNumericFlag( - optionName, 128))); + 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), false, - TestSurvivorAlignmentInBytesOption.prepareOptions( - CommandLineOptionTest.prepareNumericFlag( - optionName, alignment))); + Integer.toString(alignment), + CommandLineOptionTest.prepareBooleanFlag( + unlockExperimentalVMOpts, true), + 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()]); - } }