> **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:

 - add DoubleActionESCWithGtkDisabled
 - Tests that FileDialog can be closed by ESC any time when GtkFileDialog is 
disabled

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25184/files
  - new: https://git.openjdk.org/jdk/pull/25184/files/31472930..2b0cf0ac

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25184&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25184&range=02-03

  Stats: 39 lines in 2 files changed: 37 ins; 1 del; 1 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

Reply via email to