RFR: 8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX [v2]

Roger Riggs rriggs at openjdk.java.net
Tue Feb 22 18:13:50 UTC 2022


On Tue, 22 Feb 2022 17:20:25 GMT, Ichiroh Takiguchi <itakiguchi at openjdk.org> wrote:

>> Run jtreg:jdk/java/lang/ProcessBuilder/Basic.java on AIX.
>> The test was failed by:
>>   Incorrect handling of envstrings containing NULs
>> 
>> According to my investigation, this issue was happened after following change was applied.
>> JDK-8272600: (test) Use native "sleep" in Basic.java
>> 
>> test.nativepath value was added into AIX's LIBPATH during running this testcase.
>> On AIX, test.nativepath value should be removed from LIBPATH value before comparing the values.
>
> Ichiroh Takiguchi has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Use expectedLibpath

For my curiosity, how is AIX different from other Linux in that the test.nativepath is not/should not be in LIBPATH?

test/jdk/java/lang/ProcessBuilder/Basic.java line 81:

> 79:     /* used for AIX only */
> 80:     static final String libpath = System.getenv("LIBPATH");
> 81:     static final String expectedLibpath;

Can you check the usage of libpath at line 1362. How is this case different from the other two at 1878 and 1943?
I would move the change to the `expected` value to move into the block that is already testing AIX.is at line 1367.

I would prefer to have a single static with the libpath expected by the 3 places it is used in the test.

test/jdk/java/lang/ProcessBuilder/Basic.java line 1900:

> 1898:             if (AIX.is()) {
> 1899:                 commandOutput = removeAixExpectedVars(commandOutput);
> 1900:                 expected = expected + "LIBPATH="+expectedLibpath+",";

Please add spaces around operators +, that is the convention and in this file.

-------------

PR: https://git.openjdk.java.net/jdk/pull/7574


More information about the core-libs-dev mailing list