37 SHAOptionsBase.getPredicateForOption(optionName))); |
37 SHAOptionsBase.getPredicateForOption(optionName))); |
38 } |
38 } |
39 |
39 |
40 @Override |
40 @Override |
41 protected void verifyWarnings() throws Throwable { |
41 protected void verifyWarnings() throws Throwable { |
|
42 |
|
43 String shouldPassMessage = String.format("JVM should start with option" |
|
44 + " '%s' without any warnings", optionName); |
42 // Verify that there are no warning when option is explicitly enabled. |
45 // Verify that there are no warning when option is explicitly enabled. |
43 CommandLineOptionTest.verifySameJVMStartup(null, new String[] { |
46 CommandLineOptionTest.verifySameJVMStartup(null, new String[] { |
44 SHAOptionsBase.getWarningForUnsupportedCPU(optionName) |
47 SHAOptionsBase.getWarningForUnsupportedCPU(optionName) |
45 }, ExitCode.OK, |
48 }, shouldPassMessage, shouldPassMessage, ExitCode.OK, |
46 CommandLineOptionTest.prepareBooleanFlag(optionName, true)); |
49 CommandLineOptionTest.prepareBooleanFlag(optionName, true)); |
47 |
50 |
48 // Verify that option could be disabled even if +UseSHA was passed to |
51 // Verify that option could be disabled even if +UseSHA was passed to |
49 // JVM. |
52 // JVM. |
50 CommandLineOptionTest.verifySameJVMStartup(null, new String[] { |
53 CommandLineOptionTest.verifySameJVMStartup(null, new String[] { |
51 SHAOptionsBase.getWarningForUnsupportedCPU(optionName) |
54 SHAOptionsBase.getWarningForUnsupportedCPU(optionName) |
52 }, ExitCode.OK, |
55 }, shouldPassMessage, String.format("It should be able to " |
|
56 + "disable option '%s' even if %s was passed to JVM", |
|
57 optionName, CommandLineOptionTest.prepareBooleanFlag( |
|
58 SHAOptionsBase.USE_SHA_OPTION, true)), |
|
59 ExitCode.OK, |
53 CommandLineOptionTest.prepareBooleanFlag( |
60 CommandLineOptionTest.prepareBooleanFlag( |
54 SHAOptionsBase.USE_SHA_OPTION, true), |
61 SHAOptionsBase.USE_SHA_OPTION, true), |
55 CommandLineOptionTest.prepareBooleanFlag(optionName, false)); |
62 CommandLineOptionTest.prepareBooleanFlag(optionName, false)); |
56 |
63 |
57 // Verify that it is possible to enable the tested option and disable |
64 // Verify that it is possible to enable the tested option and disable |
58 // all SHA intrinsics via -UseSHA without any warnings. |
65 // all SHA intrinsics via -UseSHA without any warnings. |
59 CommandLineOptionTest.verifySameJVMStartup(null, new String[] { |
66 CommandLineOptionTest.verifySameJVMStartup(null, new String[] { |
60 SHAOptionsBase.getWarningForUnsupportedCPU(optionName) |
67 SHAOptionsBase.getWarningForUnsupportedCPU(optionName) |
61 }, ExitCode.OK, |
68 }, shouldPassMessage, String.format("It should be able to " |
|
69 + "enable option '%s' even if %s was passed to JVM", |
|
70 optionName, CommandLineOptionTest.prepareBooleanFlag( |
|
71 SHAOptionsBase.USE_SHA_OPTION, false)), |
|
72 ExitCode.OK, |
62 CommandLineOptionTest.prepareBooleanFlag( |
73 CommandLineOptionTest.prepareBooleanFlag( |
63 SHAOptionsBase.USE_SHA_OPTION, false), |
74 SHAOptionsBase.USE_SHA_OPTION, false), |
64 CommandLineOptionTest.prepareBooleanFlag(optionName, true)); |
75 CommandLineOptionTest.prepareBooleanFlag(optionName, true)); |
65 } |
76 } |
66 |
77 |
67 @Override |
78 @Override |
68 protected void verifyOptionValues() throws Throwable { |
79 protected void verifyOptionValues() throws Throwable { |
69 // Verify that on supported CPU option is enabled by default. |
80 // Verify that "It should be able to disable option " |
70 CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "true"); |
81 |
|
82 CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "true", |
|
83 String.format("Option '%s' should be enabled by default", |
|
84 optionName)); |
71 |
85 |
72 // Verify that it is possible to explicitly enable the option. |
86 // Verify that it is possible to explicitly enable the option. |
73 CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "true", |
87 CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "true", |
|
88 String.format("Option '%s' was set to have value 'true'", |
|
89 optionName), |
74 CommandLineOptionTest.prepareBooleanFlag(optionName, true)); |
90 CommandLineOptionTest.prepareBooleanFlag(optionName, true)); |
75 |
91 |
76 // Verify that it is possible to explicitly disable the option. |
92 // Verify that it is possible to explicitly disable the option. |
77 CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false", |
93 CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false", |
|
94 String.format("Option '%s' was set to have value 'false'", |
|
95 optionName), |
78 CommandLineOptionTest.prepareBooleanFlag(optionName, false)); |
96 CommandLineOptionTest.prepareBooleanFlag(optionName, false)); |
79 |
97 |
80 // verify that option is disabled when -UseSHA was passed to JVM. |
98 // verify that option is disabled when -UseSHA was passed to JVM. |
81 CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false", |
99 CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false", |
|
100 String.format("Option '%s' should have value 'false' when %s" |
|
101 + " flag set to JVM", optionName, |
|
102 CommandLineOptionTest.prepareBooleanFlag( |
|
103 SHAOptionsBase.USE_SHA_OPTION, false)), |
82 CommandLineOptionTest.prepareBooleanFlag(optionName, true), |
104 CommandLineOptionTest.prepareBooleanFlag(optionName, true), |
83 CommandLineOptionTest.prepareBooleanFlag( |
105 CommandLineOptionTest.prepareBooleanFlag( |
84 SHAOptionsBase.USE_SHA_OPTION, false)); |
106 SHAOptionsBase.USE_SHA_OPTION, false)); |
85 |
107 |
86 // Verify that it is possible to explicitly disable the tested option |
108 // Verify that it is possible to explicitly disable the tested option |
87 // even if +UseSHA was passed to JVM. |
109 // even if +UseSHA was passed to JVM. |
88 CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false", |
110 CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false", |
|
111 String.format("Option '%s' should have value 'false' if set so" |
|
112 + " even if %s flag set to JVM", optionName, |
|
113 CommandLineOptionTest.prepareBooleanFlag( |
|
114 SHAOptionsBase.USE_SHA_OPTION, true)), |
89 CommandLineOptionTest.prepareBooleanFlag( |
115 CommandLineOptionTest.prepareBooleanFlag( |
90 SHAOptionsBase.USE_SHA_OPTION, true), |
116 SHAOptionsBase.USE_SHA_OPTION, true), |
91 CommandLineOptionTest.prepareBooleanFlag(optionName, false)); |
117 CommandLineOptionTest.prepareBooleanFlag(optionName, false)); |
92 } |
118 } |
93 } |
119 } |