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

Reply via email to