8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test 26 * @bug 8061999 8135195 8136552 27 * @summary Test "-XX:VMOptionsFile" VM option 28 * @library /testlibrary 29 * @modules java.base/jdk.internal.misc 30 * @modules jdk.management 31 * @run main TestVMOptionsFile 32 */ 33 34 import java.io.File; 35 import java.io.FileWriter; 36 import java.io.IOException; 37 import java.nio.file.Files; 38 import java.nio.file.Paths; 39 import java.nio.file.Path; 40 import java.nio.file.attribute.PosixFilePermissions; 41 import java.nio.file.attribute.AclEntry; 42 import java.nio.file.attribute.AclEntryPermission; 43 import java.nio.file.attribute.AclEntryType; 44 import java.nio.file.attribute.AclFileAttributeView; 45 import java.nio.file.attribute.UserPrincipal; 46 import java.nio.file.StandardCopyOption; 47 import java.util.ArrayList; 48 import java.util.Arrays; 49 import java.util.LinkedHashSet; 50 import java.util.List; 51 import java.util.Properties; 52 import java.util.Set; 53 import jdk.test.lib.Asserts; 54 import jdk.test.lib.DynamicVMOption; 55 import jdk.test.lib.OutputAnalyzer; 56 import jdk.test.lib.ProcessTools; 57 58 public class TestVMOptionsFile { 59 60 /* Various valid VM Option files */ 61 private static final String VM_OPTION_FILE_EMPTY = "optionfile_empty"; 62 private static final String VM_OPTION_FILE_TABS_AND_SPACES = "optionfile_only_tabsandspaces"; 63 private static final String VM_OPTION_FILE_1 = "optionfile_1"; 64 private static final String VM_OPTION_FILE_2 = "optionFILE_2"; 65 private static final String VM_OPTION_FILE_3 = "optionfile_3"; 66 private static final String VM_OPTION_FILE_QUOTE = "optionfile_quote"; 67 private static final String VM_OPTION_FILE_BIG = "optionfile_big"; 68 private static final int REPEAT_COUNT = 512; 69 /* Name of the file with flags for VM_OPTION_FILE_2 Option file */ 70 private static final String FLAGS_FILE = "flags_file"; 71 /* VM Option file with a lot of options with quote on separate lines */ 72 private static final String VM_OPTION_FILE_LOT_OF_OPTIONS_QUOTE = "optionfile_lot_of_options_quote"; 73 /* Number of properties defined in VM_OPTION_FILE_LOT_OF_OPTIONS_QUOTE */ 74 private static final int NUM_OF_PROP_IN_FILE_LOT_OF_OPTIONS_QUOTE = 70; 75 /* VM Option file with long property */ 76 private static final String VM_OPTION_FILE_WITH_LONG_PROPERTY = "optionfile_long_property"; | 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test 26 * @bug 8061999 8135195 8136552 27 * @summary Test "-XX:VMOptionsFile" VM option 28 * @library /test/lib 29 * @modules java.base/jdk.internal.misc 30 * @modules jdk.management 31 * @run main TestVMOptionsFile 32 */ 33 34 import java.io.File; 35 import java.io.FileWriter; 36 import java.io.IOException; 37 import java.nio.file.Files; 38 import java.nio.file.Paths; 39 import java.nio.file.Path; 40 import java.nio.file.attribute.PosixFilePermissions; 41 import java.nio.file.attribute.AclEntry; 42 import java.nio.file.attribute.AclEntryPermission; 43 import java.nio.file.attribute.AclEntryType; 44 import java.nio.file.attribute.AclFileAttributeView; 45 import java.nio.file.attribute.UserPrincipal; 46 import java.nio.file.StandardCopyOption; 47 import java.util.ArrayList; 48 import java.util.Arrays; 49 import java.util.LinkedHashSet; 50 import java.util.List; 51 import java.util.Properties; 52 import java.util.Set; 53 import jdk.test.lib.Asserts; 54 import jdk.test.lib.DynamicVMOption; 55 import jdk.test.lib.process.OutputAnalyzer; 56 import jdk.test.lib.process.ProcessTools; 57 58 public class TestVMOptionsFile { 59 60 /* Various valid VM Option files */ 61 private static final String VM_OPTION_FILE_EMPTY = "optionfile_empty"; 62 private static final String VM_OPTION_FILE_TABS_AND_SPACES = "optionfile_only_tabsandspaces"; 63 private static final String VM_OPTION_FILE_1 = "optionfile_1"; 64 private static final String VM_OPTION_FILE_2 = "optionFILE_2"; 65 private static final String VM_OPTION_FILE_3 = "optionfile_3"; 66 private static final String VM_OPTION_FILE_QUOTE = "optionfile_quote"; 67 private static final String VM_OPTION_FILE_BIG = "optionfile_big"; 68 private static final int REPEAT_COUNT = 512; 69 /* Name of the file with flags for VM_OPTION_FILE_2 Option file */ 70 private static final String FLAGS_FILE = "flags_file"; 71 /* VM Option file with a lot of options with quote on separate lines */ 72 private static final String VM_OPTION_FILE_LOT_OF_OPTIONS_QUOTE = "optionfile_lot_of_options_quote"; 73 /* Number of properties defined in VM_OPTION_FILE_LOT_OF_OPTIONS_QUOTE */ 74 private static final int NUM_OF_PROP_IN_FILE_LOT_OF_OPTIONS_QUOTE = 70; 75 /* VM Option file with long property */ 76 private static final String VM_OPTION_FILE_WITH_LONG_PROPERTY = "optionfile_long_property"; |