On Tue, 20 May 2025 07:53:30 GMT, Abhishek Kumar <abhis...@openjdk.org> wrote:

>> Test was failing on macOS 14.7.1 system in CI pipeline. Logged output 
>> suggests that the mouse exit event is not triggered and thus the test fails.
>> Increased number of list items and adjusted the X and Y offset for mouse 
>> move events, so the mouse pointer will be within the frame and added robot 
>> delay to stabilize the test.
>> 
>> Verified the updated test in CI on macOS 14.7 machine and there is no 
>> failure.
>
> Abhishek Kumar has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains three commits:
> 
>  - File merge
>  - Review comment fix, latch and other changes
>  - Test Stabilization

Changes requested by aivanov (Reviewer).

test/jdk/java/awt/List/ListEnterExitTest.java line 54:

> 52:     private final int LATCH_TIMEOUT = 3;
> 53:     private static volatile CountDownLatch mouseEnterLatch = new 
> CountDownLatch(1);
> 54:     private static volatile CountDownLatch mouseExitLatch = new 
> CountDownLatch(1);

Suggestion:


    private static final int X_OFFSET = 30;
    private static final int Y_OFFSET = 40;
    private static final int LATCH_TIMEOUT = 3;

    private final CountDownLatch mouseEnterLatch = new CountDownLatch(1);
    private final CountDownLatch mouseExitLatch = new CountDownLatch(1);

test/jdk/java/awt/List/ListEnterExitTest.java line 97:

> 95: 
> 96:             if (!mouseEnterLatch.await(LATCH_TIMEOUT, TimeUnit.SECONDS)) {
> 97:                 System.out.println("mouseEnterLatch count is : " + 
> mouseEnterLatch.getCount());

This print is redundant: if `mouseEnterLatch` isn't released yet, its count is 
1 — it can't have any other value. At the same, the count could change right 
after the timeout occurred which would lead to a very confusing output.

Thus, I recommend removing printing the count of a latch.

test/jdk/java/awt/List/ListEnterExitTest.java line 114:

> 112:     }
> 113: 
> 114:     static class MouseEnterExitListener extends MouseAdapter {

Suggestion:

    private class MouseEnterExitListener extends MouseAdapter {

Removing `static` allows removing `static` modifier from the latches.

In fact, the `MouseEnterExitListener` class can be eliminated altogether… Yet 
the code could be clearer this way.

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

PR Review: https://git.openjdk.org/jdk/pull/25299#pullrequestreview-2855348060
PR Review Comment: https://git.openjdk.org/jdk/pull/25299#discussion_r2098709525
PR Review Comment: https://git.openjdk.org/jdk/pull/25299#discussion_r2098723381
PR Review Comment: https://git.openjdk.org/jdk/pull/25299#discussion_r2098717008

Reply via email to