test/jdk/sun/tools/jcmd/TestProcessHelper.java
changeset 55386 2f4e214781a1
parent 54460 6733a9176cce
child 58143 b35771556cd0
equal deleted inserted replaced
55385:2c47220ce9bb 55386:2f4e214781a1
    71     private static final String JAVA_PATH = JDKToolFinder.getJDKTool("java");
    71     private static final String JAVA_PATH = JDKToolFinder.getJDKTool("java");
    72     private static final Path TEST_CLASS = TEST_CLASSES.resolve(TEST_PROCESS_MAIN_CLASS_PACKAGE)
    72     private static final Path TEST_CLASS = TEST_CLASSES.resolve(TEST_PROCESS_MAIN_CLASS_PACKAGE)
    73             .resolve(TEST_PROCESS_MAIN_CLASS_NAME + ".class");
    73             .resolve(TEST_PROCESS_MAIN_CLASS_NAME + ".class");
    74 
    74 
    75     private static final String[] CP_OPTIONS = {"-cp", "-classpath", "--class-path"};
    75     private static final String[] CP_OPTIONS = {"-cp", "-classpath", "--class-path"};
    76     private static final String[][] VM_ARGS = {{}, {"-Dtest1=aaa"}, {"-Dtest1=aaa", "-Dtest2=bbb"}};
    76     private static final String[][] VM_ARGS = {{}, {"-Dtest1=aaa"}, {"-Dtest1=aaa", "-Dtest2=bbb ccc"}};
    77     private static final String[][] ARGS = {{}, {"param1"}, {"param1", "param2"}};
    77     private static final String[][] ARGS = {{}, {"param1"}, {"param1", "param2"}};
    78     private static final String[] MP_OPTIONS = {"-p", "--module-path"};
    78     private static final String[] MP_OPTIONS = {"-p", "--module-path"};
    79     private static final String[] MODULE_OPTIONS = {"-m", "--module"};
    79     private static final String[] MODULE_OPTIONS = {"-m", "--module", "--module="};
    80     private static final String JAR_OPTION = "-jar";
    80     private static final String JAR_OPTION = "-jar";
    81     private static final String MODULE_NAME = "module1";
    81     private static final String MODULE_NAME = "module1";
    82 
    82     private static final String[][] EXTRA_MODULAR_OPTIONS = {null,
       
    83             {"--add-opens", "java.base/java.net=ALL-UNNAMED"},
       
    84             {"--add-exports", "java.base/java.net=ALL-UNNAMED"},
       
    85             {"--add-reads", "java.base/java.net=ALL-UNNAMED"},
       
    86             {"--add-modules", "java.management"},
       
    87             {"--limit-modules", "java.management"},
       
    88             {"--upgrade-module-path", "test"}};
       
    89 
       
    90     private static final String[] PATCH_MODULE_OPTIONS = {"--patch-module", null};
    83 
    91 
    84     public static void main(String[] args) throws Exception {
    92     public static void main(String[] args) throws Exception {
    85         new TestProcessHelper().runTests();
    93         new TestProcessHelper().runTests();
    86     }
    94     }
    87 
    95 
    95     // and with different combinations of VM and program args.
   103     // and with different combinations of VM and program args.
    96     private void testClassPath() throws Exception {
   104     private void testClassPath() throws Exception {
    97         for (String cp : CP_OPTIONS) {
   105         for (String cp : CP_OPTIONS) {
    98             for (String[] vma : VM_ARGS) {
   106             for (String[] vma : VM_ARGS) {
    99                 for (String[] arg : ARGS) {
   107                 for (String[] arg : ARGS) {
   100                     List<String> cmd = new LinkedList<>();
   108                     for (String[] modularOptions : EXTRA_MODULAR_OPTIONS) {
   101                     cmd.add(JAVA_PATH);
   109                         List<String> cmd = new LinkedList<>();
   102                     cmd.add(cp);
   110                         cmd.add(JAVA_PATH);
   103                     cmd.add(TEST_CLASSES.toAbsolutePath().toString());
   111                         cmd.add(cp);
   104                     for (String v : vma) {
   112                         cmd.add(TEST_CLASSES.toAbsolutePath().toString());
   105                         cmd.add(v);
   113                         for (String v : vma) {
       
   114                             cmd.add(v);
       
   115                         }
       
   116                         if (modularOptions != null) {
       
   117                             cmd.add(modularOptions[0]);
       
   118                             cmd.add(modularOptions[1]);
       
   119                         }
       
   120                         cmd.add(TEST_PROCESS_MAIN_CLASS);
       
   121                         for (String a : arg) {
       
   122                             cmd.add(a);
       
   123                         }
       
   124                         testProcessHelper(cmd, TEST_PROCESS_MAIN_CLASS);
   106                     }
   125                     }
   107                     cmd.add(TEST_PROCESS_MAIN_CLASS);
       
   108                     for (String a : arg) {
       
   109                         cmd.add(a);
       
   110                     }
       
   111                     testProcessHelper(cmd, TEST_PROCESS_MAIN_CLASS);
       
   112                 }
   126                 }
   113             }
   127             }
   114         }
   128         }
   115     }
   129     }
   116 
   130 
   142         prepareModule();
   156         prepareModule();
   143         for (String mp : MP_OPTIONS) {
   157         for (String mp : MP_OPTIONS) {
   144             for (String m : MODULE_OPTIONS) {
   158             for (String m : MODULE_OPTIONS) {
   145                 for (String[] vma : VM_ARGS) {
   159                 for (String[] vma : VM_ARGS) {
   146                     for (String[] arg : ARGS) {
   160                     for (String[] arg : ARGS) {
   147                         List<String> cmd = new LinkedList<>();
   161                         for(String patchModuleOption : PATCH_MODULE_OPTIONS) {
   148                         cmd.add(JAVA_PATH);
   162                             List<String> cmd = new LinkedList<>();
   149                         cmd.add(mp);
   163                             cmd.add(JAVA_PATH);
   150                         cmd.add(TEST_MODULES.toAbsolutePath().toString());
   164                             cmd.add(mp);
   151                         for (String v : vma) {
   165                             cmd.add(TEST_MODULES.toAbsolutePath().toString());
   152                             cmd.add(v);
   166                             if (patchModuleOption != null) {
   153                         }
   167                                 cmd.add(patchModuleOption);
   154                         cmd.add(m);
   168                                 cmd.add(MODULE_NAME + "=" + TEST_MODULES.toAbsolutePath().toString());
   155                         cmd.add(MODULE_NAME + "/" + TEST_PROCESS_MAIN_CLASS);
   169                             }
   156                         for (String a : arg) {
   170                             for (String v : vma) {
   157                             cmd.add(a);
   171                                 cmd.add(v);
   158                         }
   172                             }
   159                         testProcessHelper(cmd, MODULE_NAME + "/" + TEST_PROCESS_MAIN_CLASS);
   173                             if (m.endsWith("=")) {
       
   174                                 cmd.add(m + MODULE_NAME + "/" + TEST_PROCESS_MAIN_CLASS);
       
   175                             } else {
       
   176                                 cmd.add(m);
       
   177                                 cmd.add(MODULE_NAME + "/" + TEST_PROCESS_MAIN_CLASS);
       
   178                             }
       
   179                             for (String a : arg) {
       
   180                                 cmd.add(a);
       
   181                             }
       
   182                             testProcessHelper(cmd, MODULE_NAME + "/" + TEST_PROCESS_MAIN_CLASS);
       
   183                         }
   160                     }
   184                     }
   161                 }
   185                 }
   162             }
   186             }
   163         }
   187         }
   164     }
   188     }