test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java

Print this page
rev 5893 : [mq]: vmoptsfix


 137     return new String[] {};
 138   }
 139 
 140   /**
 141    * Create ProcessBuilder using the java launcher from the jdk to be tested and
 142    * with any platform specific arguments prepended
 143    */
 144   public static ProcessBuilder createJavaProcessBuilder(String... command) throws Exception {
 145     return createJavaProcessBuilder(false, command);
 146   }
 147 
 148   public static ProcessBuilder createJavaProcessBuilder(boolean addTestVmOptions, String... command) throws Exception {
 149     String javapath = JDKToolFinder.getJDKTool("java");
 150 
 151     ArrayList<String> args = new ArrayList<>();
 152     args.add(javapath);
 153     Collections.addAll(args, getPlatformSpecificVMArgs());
 154 
 155     if (addTestVmOptions) {
 156       String vmopts = System.getProperty("test.vm.opts");
 157       if (vmopts != null) {
 158         Collections.addAll(args, vmopts.split("\\s"));
 159       }
 160     }
 161 
 162     Collections.addAll(args, command);
 163 
 164     // Reporting
 165     StringBuilder cmdLine = new StringBuilder();
 166     for (String cmd : args)
 167         cmdLine.append(cmd).append(' ');
 168     System.out.println("Command line: [" + cmdLine.toString() + "]");
 169 
 170     return new ProcessBuilder(args.toArray(new String[args.size()]));
 171   }
 172 }


 137     return new String[] {};
 138   }
 139 
 140   /**
 141    * Create ProcessBuilder using the java launcher from the jdk to be tested and
 142    * with any platform specific arguments prepended
 143    */
 144   public static ProcessBuilder createJavaProcessBuilder(String... command) throws Exception {
 145     return createJavaProcessBuilder(false, command);
 146   }
 147 
 148   public static ProcessBuilder createJavaProcessBuilder(boolean addTestVmOptions, String... command) throws Exception {
 149     String javapath = JDKToolFinder.getJDKTool("java");
 150 
 151     ArrayList<String> args = new ArrayList<>();
 152     args.add(javapath);
 153     Collections.addAll(args, getPlatformSpecificVMArgs());
 154 
 155     if (addTestVmOptions) {
 156       String vmopts = System.getProperty("test.vm.opts");
 157       if (vmopts != null && vmopts.length() > 0) {
 158         Collections.addAll(args, vmopts.split("\\s"));
 159       }
 160     }
 161 
 162     Collections.addAll(args, command);
 163 
 164     // Reporting
 165     StringBuilder cmdLine = new StringBuilder();
 166     for (String cmd : args)
 167         cmdLine.append(cmd).append(' ');
 168     System.out.println("Command line: [" + cmdLine.toString() + "]");
 169 
 170     return new ProcessBuilder(args.toArray(new String[args.size()]));
 171   }
 172 }