> **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 two additional
commits since the last revision:
- Run the test with disableGtkFileDialogs
- No need for new test
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/25184/files
- new: https://git.openjdk.org/jdk/pull/25184/files/50bc3103..7d850fed
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=25184&range=08
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=25184&range=07-08
Stats: 38 lines in 2 files changed: 1 ins; 37 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/25184.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/25184/head:pull/25184
PR: https://git.openjdk.org/jdk/pull/25184