On Sat, 28 Aug 2021 02:34:48 GMT, Roger Riggs <[email protected]> wrote:
>> The intermittent test in java/lang/ProcessBuilder/Basic.java has identified
>> unexpected messages from a child Java VM
>> as the cause of the test failure. Attempts to control the output of the
>> child VM have failed, the VM is unrepentant .
>>
>> There is no functionality in the child except to wait long enough for the
>> test to finish and the child is destroyed.
>> The fix is to switch from using a Java child to using a native child; a new
>> executable `sleepmillis`.
>
> Roger Riggs has updated the pull request incrementally with one additional
> commit since the last revision:
>
> Revised to use native /bin/sleep program on Unix* (non-Windows).
> For Windows, a native "BasicSleep" program is used.
Hi Roger,
I think this can be simplified - see comments.
Thanks,
David
test/jdk/java/lang/ProcessBuilder/Basic.java line 2646:
> 2644: if (exePath.toFile().canExecute()) {
> 2645: return exePath;
> 2646: }
Not sure why this is so elaborate when elsewhere in the test we just assume
`/usr/bin/env` exists?
test/jdk/java/lang/ProcessBuilder/Basic.java line 2662:
> 2660: // Fallback to the JavaChild sleep does a sleep for 10
> minutes.
> 2661: // The fallback the Java$Child is used if the test is run
> without building
> 2662: // the BasicSleep native executable (for Windows).
The comment doesn't read correctly.
test/jdk/java/lang/ProcessBuilder/Basic.java line 2665:
> 2663:
> 2664: Path exePath =
> Path.of(TEST_NATIVEPATH).resolve("BasicSleep.exe");
> 2665: System.out.println("exePath: " + exePath + ", canExec: " +
> exePath.toFile().canExecute());
What is this for??
-------------
Changes requested by dholmes (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/5239