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()]);
-    }
 }