On Mon, 9 Jun 2025 18:22:20 GMT, Anass Baya <ab...@openjdk.org> wrote:
>> **Analysis :** >> >> Whether the test passes on the main line or fails, the behavior is still >> incorrect. >> This test is meant to ensure that pressing ESC a second time while the file >> dialog is open behaves correctly. >> >> However, the CountDownLatch is currently set to 1, which means the test only >> waits for the first open/close interaction to complete. As a result, it does >> not wait for the second attempt (opening the dialog again and pressing ESC >> to close it), because the latch reaches zero after the first attempt. >> >> This causes the test to proceed immediately to the validation step: >> >> if (fd.isVisible()) { >> throw new RuntimeException("File Dialog is not closed"); >> } >> >> At this point, whether the test passes or fails becomes unreliable and >> undefined, as it depends on the state of the second attempt (whether the >> file dialog is in the process of opening, being closed, or hasn't even >> started yet) >> >> To ensure the test behaves correctly, the CountDownLatch should be set to 2, >> so it waits for the two attempt of open-close interactions to be completed >> before moving on to validation. >> >> **Proposed fix:** >> >> set the CountDownLatch to 2 >> >> **Proposed enhancements :** >> >> Remove unnecessary threads (Thread and Thread-2) >> Properly handle delays and robot.waitForIdle() >> Avoid indefinite blocking on latch.await() >> >> With these enhancements, the test execution time is reduced from around 3 >> minutes to approximately 1 minute 30 seconds >> >> The adapted test uncovered a new bug in GTKFileDialog on Linux, which is >> being tracked under >> [JDK-8356981](https://bugs.openjdk.org/browse/JDK-8356981). As a result, it >> has been added to the ProblemList. See >> [JDK-8356981](https://bugs.openjdk.org/browse/JDK-8356981) for more details > > Anass Baya has updated the pull request incrementally with six additional > commits since the last revision: > > - The bug id is not needed > > Co-authored-by: Abhishek Kumar <abhishek.cx.ku...@oracle.com> > - No need to add bug id > > Co-authored-by: Abhishek Kumar <abhishek.cx.ku...@oracle.com> > - Update test/jdk/java/awt/FileDialog/DoubleActionESC.java > > Co-authored-by: Abhishek Kumar <abhishek.cx.ku...@oracle.com> > - Update test/jdk/java/awt/FileDialog/DoubleActionESC.java > > Co-authored-by: Abhishek Kumar <abhishek.cx.ku...@oracle.com> > - Update test/jdk/java/awt/FileDialog/DoubleActionESC.java > > Co-authored-by: Abhishek Kumar <abhishek.cx.ku...@oracle.com> > - Increased the latch timeout to ensure the test doesn't fail incorrectly. Changes requested by aivanov (Reviewer). test/jdk/java/awt/FileDialog/DoubleActionESC.java line 41: > 39: /* > 40: * @test > 41: * @bug 5097243 Add another `@run` to this test instead of creating a new one. * @key headful * @run main DoubleActionESC * @run main/othervm -Dsun.awt.disableGtkFileDialogs=true DoubleActionESC * ``` test/jdk/java/awt/FileDialog/DoubleActionESCWithGtkDisabled.java line 37: > 35: DoubleActionESC.main(args); > 36: } > 37: } A file should end with `\n` to avoid this error. No need to create another test, just add another `@run` into existing test. ------------- PR Review: https://git.openjdk.org/jdk/pull/25184#pullrequestreview-2972239652 PR Review Comment: https://git.openjdk.org/jdk/pull/25184#discussion_r2175656286 PR Review Comment: https://git.openjdk.org/jdk/pull/25184#discussion_r2175654225