On Mon, 9 Jun 2025 18:17:56 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.

LGTM.

test/jdk/java/awt/FileDialog/DoubleActionESC.java line 41:

> 39: /*
> 40:  * @test
> 41:  * @bug 5097243 8355478

No need to add bug id. We add the bug id only if there is any product change.

Suggestion:

 * @bug 5097243

test/jdk/java/awt/FileDialog/DoubleActionESC.java line 89:

> 87: 
> 88:             if (!latch.await(LATCH_TIMEOUT, SECONDS))
> 89:             {

Suggestion:

            if (!latch.await(LATCH_TIMEOUT, SECONDS)) {

test/jdk/java/awt/FileDialog/DoubleActionESC.java line 90:

> 88:             if (!latch.await(LATCH_TIMEOUT, SECONDS))
> 89:             {
> 90:                 throw new RuntimeException("Test failed: Latch timout 
> reached");

Suggestion:

                throw new RuntimeException("Test failed: Latch timeout 
reached");

test/jdk/java/awt/FileDialog/DoubleActionESC.java line 94:

> 92:             EventQueue.invokeAndWait(() -> {
> 93:                 if (fd.isVisible())
> 94:                 {

Suggestion:

                if (fd.isVisible()) {

test/jdk/java/awt/FileDialog/DoubleActionESCWithGtkDisabled.java line 26:

> 24: /*
> 25:  * @test
> 26:  * @bug 5097243 8355478

Don't think bug id is needed here as well.
Suggestion:

 * @bug 5097243

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

Marked as reviewed by abhiscxk (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25184#pullrequestreview-2882250966
PR Review Comment: https://git.openjdk.org/jdk/pull/25184#discussion_r2116379043
PR Review Comment: https://git.openjdk.org/jdk/pull/25184#discussion_r2116382966
PR Review Comment: https://git.openjdk.org/jdk/pull/25184#discussion_r2116384670
PR Review Comment: https://git.openjdk.org/jdk/pull/25184#discussion_r2116383654
PR Review Comment: https://git.openjdk.org/jdk/pull/25184#discussion_r2116436779

Reply via email to