test/runtime/CommandLine/VMOptionsFile/TestVMOptionsFile.java

Print this page

        

*** 283,292 **** --- 283,294 ---- private static void checkVMOption(String vmOption, String expectedValue) { outputShouldContain(String.format(PRINT_VM_OPTION_FORMAT, vmOption, expectedValue)); } private static void testVMOptions() throws Exception { + ProcessBuilder pb; + /* Check that empty VM Option file is accepted without errors */ addVMOptionsFile(VM_OPTION_FILE_EMPTY); runJavaCheckExitValue(JVM_SUCCESS);
*** 383,392 **** --- 385,421 ---- outputShouldContain("VM option '+PrintVMOptions'"); checkProperty("my.property", "value" + REPEAT_COUNT); checkVMOption("MinHeapFreeRatio", "17"); checkVMOption("MaxHeapFreeRatio", "85"); + + /* Pass VM Option file in _JAVA_OPTIONS environment variable */ + addVMParam("-showversion"); + addVMOptionsToCheck("SurvivorRatio", "MinHeapFreeRatio"); + pb = createProcessBuilder(); + + updateEnvironment(pb, JAVA_OPTIONS, "-XX:VMOptionsFile=" + getAbsolutePathFromSource(VM_OPTION_FILE_1)); + + runJavaCheckExitValue(pb, JVM_SUCCESS); + outputShouldContain("interpreted mode"); + checkProperty("optfile_1", "option_file_1"); + checkVMOption("SurvivorRatio", "16"); + checkVMOption("MinHeapFreeRatio", "22"); + + /* Pass VM Option file in JAVA_TOOL_OPTIONS environment variable */ + addVMOptionsToCheck("UseGCOverheadLimit", "NewRatio", "MinHeapFreeRatio", "MaxFDLimit", "AlwaysPreTouch"); + pb = createProcessBuilder(); + + updateEnvironment(pb, JAVA_TOOL_OPTIONS, "-XX:VMOptionsFile=" + VM_OPTION_FILE_2); + + runJavaCheckExitValue(pb, JVM_SUCCESS); + checkProperty("javax.net.ssl.keyStorePassword", "someVALUE123+"); + checkVMOption("UseGCOverheadLimit", "true"); + checkVMOption("NewRatio", "4"); + checkVMOption("MinHeapFreeRatio", "3"); + checkVMOption("MaxFDLimit", "true"); + checkVMOption("AlwaysPreTouch", "false"); } private static ProcessBuilder prepareTestCase(int testCase) throws Exception { ProcessBuilder pb;
*** 546,562 **** /* Pass VM option file with same VM option file option in it */ addVMOptionsFile(VM_OPTION_FILE_WITH_SAME_VM_OPTION_FILE); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1); ! outputShouldContain("The VM Options file can only be specified once and only on the command line."); /* Pass VM option file with VM option file option in it */ addVMOptionsFile(VM_OPTION_FILE_WITH_VM_OPTION_FILE); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1); ! outputShouldContain("The VM Options file can only be specified once and only on the command line."); /* Pass VM option file which is not accessible (without read permissions) */ addVMOptionsFile(getAbsolutePathFromSource(VM_OPTION_FILE_WITHOUT_READ_PERMISSIONS)); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1); --- 575,591 ---- /* Pass VM option file with same VM option file option in it */ addVMOptionsFile(VM_OPTION_FILE_WITH_SAME_VM_OPTION_FILE); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1); ! outputShouldContain("A VM options file may not refer to a VM options file. Specification of '-XX:VMOptionsFile=<file-name>' in the options file"); /* Pass VM option file with VM option file option in it */ addVMOptionsFile(VM_OPTION_FILE_WITH_VM_OPTION_FILE); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1); ! outputShouldContain("A VM options file may not refer to a VM options file. Specification of '-XX:VMOptionsFile=<file-name>' in the options file"); /* Pass VM option file which is not accessible (without read permissions) */ addVMOptionsFile(getAbsolutePathFromSource(VM_OPTION_FILE_WITHOUT_READ_PERMISSIONS)); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1);
*** 565,575 **** /* Pass two VM option files */ addVMOptionsFile(getAbsolutePathFromSource(VM_OPTION_FILE_1)); addVMOptionsFile(VM_OPTION_FILE_2); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1); ! outputShouldContain("The VM Options file can only be specified once and only on the command line."); /* Pass empty option file i.e. pass "-XX:VMOptionsFile=" */ addVMOptionsFile(""); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1); --- 594,604 ---- /* Pass two VM option files */ addVMOptionsFile(getAbsolutePathFromSource(VM_OPTION_FILE_1)); addVMOptionsFile(VM_OPTION_FILE_2); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1); ! outputShouldContain("is already specified in the"); /* Pass empty option file i.e. pass "-XX:VMOptionsFile=" */ addVMOptionsFile(""); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1);
*** 584,609 **** /* Pass VM option file with unmatched double quote in X option */ addVMOptionsFile(getAbsolutePathFromSource(VM_OPTION_FILE_UNMATCHED_QUOTE_2)); runJavaCheckExitValue(JVM_FAIL_WITH_EXIT_CODE_1); outputShouldContain("Unmatched quote in"); - - /* Pass VM Option file in _JAVA_OPTIONS environment variable */ - pb = createProcessBuilder(); - - updateEnvironment(pb, JAVA_OPTIONS, "-XX:VMOptionsFile=" + getAbsolutePathFromSource(VM_OPTION_FILE_1)); - - runJavaCheckExitValue(pb, JVM_FAIL_WITH_EXIT_CODE_1); - outputShouldContain("VM options file is only supported on the command line"); - - /* Pass VM Option file in JAVA_TOOL_OPTIONS environment variable */ - pb = createProcessBuilder(); - - updateEnvironment(pb, JAVA_TOOL_OPTIONS, "-XX:VMOptionsFile=" + getAbsolutePathFromSource(VM_OPTION_FILE_1)); - - runJavaCheckExitValue(pb, JVM_FAIL_WITH_EXIT_CODE_1); - outputShouldContain("VM options file is only supported on the command line"); } public static void main(String[] args) throws Exception { /* * Preparation before actual testing - create two VM Option files --- 613,622 ----