RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg (original) (raw)

Yekaterina Kantserova yekaterina.kantserova at oracle.com
Mon Feb 4 10:33:16 UTC 2013


On 02/01/2013 04:18 PM, Alan Bateman wrote:

On 01/02/2013 15:06, Yekaterina Kantserova wrote:

Thanks for explanation! But I'm still confused. In my use case I need to test /the tool/ I'll find with JDKToolFinder. It will work if just -jdk will be specified. But if -compilejdk happens to be specified the results of my tests will be useless. Furthermore, it would be hard to detect. Do you think there is a solution that covers all use cases? I don't think it make sense to specify -compilejdk and not -jdk. Does that help? -Alan

No, it was a bad example. Let's take another one:

/java -jar jtreg.jar -jdk MONKEY -compilejdk LION test.java/

In this case JDKToolFinder.getJDKTool("jcmd") will return LION/bin/jcmd, but I need to test MONKEY/bin/jcmd.

There is an example in ProcessTools.java:

... /** * Create ProcessBuilder using the java launcher from the jdk to be tested * and with any platform specific arguments prepended */ public static ProcessBuilder createJavaProcessBuilder(String... command) throws Exception { String javapath = JDKToolFinder.getJDKTool("java");

     ArrayList<String> args = new ArrayList<>();
     args.add(javapath);
     Collections.addAll(args, getPlatformSpecificVMArgs());
     Collections.addAll(args, command);

     return new ProcessBuilder(args.toArray(new String[args.size()]));

 }

...

May be we need another solution for testing a JRE? JREToolFinder for example, which can be implemented later?

Thanks, Katja



More information about the core-libs-dev mailing list