RFR: JDK-8157850 Jar tests should pass through VM options
Jonathan Gibbons
jonathan.gibbons at oracle.com
Wed May 25 20:04:36 UTC 2016
Using JAVA_OPTIONS for tools is conceptually wrong.
JAVA_OPTIONS is specifically intended to pass options to VM instances,
as created by a "java" command. It is not intended that you should
prefix the options with -J and use them for arbitrary tools.
The code in the webrev is also perverse for taking the trouble to split
the string to a stream, collect the results into a list, convert the
list back into a stream again and use .forEach.
You could do better, and much simpler, with something like
if (!option.isEmpty()) {
commands.addAll(Arrays.asList(option.split("\\s+",-1)));
}
-- Jon
On 05/25/2016 10:48 AM, Martin Buchholz wrote:
> Hi Andrey,
>
> Looking at http://openjdk.java.net/jtreg/vmoptions.html,
> I see we have both test.vm.opts and test.tool.vm.opts
> and the latter is supposed to take care of adding "-J".
>
> + VM_OPTIONS.stream().map(opt -> "-J" + opt).forEach(commands::add);
> + JAVA_OPTIONS.stream().map(opt -> "-J" + opt).forEach(commands::add);
>
> ---
>
> Maybe splitting on "\\s+" would be better.
>
> ---
>
> I think we should have test library methods to return the List<String>
> for java subprocesses, one that could try hard to get the option
> tokenization correct.
>
> ---
>
>
> On Wed, May 25, 2016 at 9:07 AM, Andrey Nazarov
> <andrey.x.nazarov at oracle.com> wrote:
>> Some jar tests start VMs without passing vmoptions from jtreg.
>>
>> This fix pass jtreg's vmoptions and javaoptions to processes(java, jar,
>> javac) started by tests.
>>
>> webrev: http://cr.openjdk.java.net/~anazarov/8157850/webrev.01/
>>
>> jbs: https://bugs.openjdk.java.net/browse/JDK-8157850
>>
>> --Andrey
>>
More information about the core-libs-dev
mailing list