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

Reply via email to