On Sat, 28 Aug 2021 02:34:48 GMT, Roger Riggs <rri...@openjdk.org> 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