Hi Chris,
This seems fine. As you say there may be a number of ways to address
this problem, but this is clear and simple and does fix it.
Thanks,
David
On 6/10/2016 3:30 AM, Chris Plummer wrote:
Hello,
[Sorry if some of you are seeing this a second time. I used the wrong
alias the first time around]
Please review the following:
https://bugs.openjdk.java.net/browse/JDK-8167001
http://cr.openjdk.java.net/~cjplummer/8167001/webrev.00/webrev.jdk/
This fixes an issue with the classpath not being passed to the
subprocess, resulting in the main class for the subprocess not being
found. It only turns up when running the test with "agentvm", which is
the default when running the test via test/Makefile (which is what jprt
uses). "othervm" seems to be the default when running jtreg directly
from the command line, so it doesn't see this problem.
It would also be possible to fix this problem by forcing the test to
always run with othervm. However, I feel that is relying on a side
affect of othervm and is not its intended purpose. Existing tests fix
this issue by explicitly passing the classpath to the subprocess. This
is usually done by passing "true" as the first argument to
ProcessTools.createJavaProcessBuilder(). This is actually the default
behavior for hotspot/test. For jdk/test the default is "false" so you
need to explicitly pass "true".
Tested by running with jprt under conditions where the test was
previously failing. Also tested by running the test directory locally
using jdk/Makefile (which previously was failing).
thanks,
Chris