RFR: 8023263: [TESTBUG] Test closed/java/awt/Focus/InactiveWindowTest/InactiveFocusRace fails due to not enough time to initialize graphic components
Prasanta Sadhukhan
psadhukhan at openjdk.org
Wed Sep 10 03:16:15 UTC 2025
On Tue, 9 Sep 2025 17:45:10 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:
>> Test was failing due to lack of time between initializing graphics components and test start.
>> Added robot delay and execution under EDT.
>>
>> Several iterations of test is passing so deproblemlisting, CI job link in JBS
>
> test/jdk/java/awt/Focus/InactiveFocusRace.java line 109:
>
>> 107: }
>> 108: });
>> 109: inactiveFrame.setVisible(true);
>
> The previous version used a Semaphore to wait until the frame became active or the button received focus, but it didn’t check the second inactive frame.
> I think what we should do is first show the "inactive" frame using the same Semaphore. Then, once it becomes visible, we should show another "active" frame.
> This will ensure that the frame we intend to click below remains inactive/unfocused.
I didn't get the "previous version"..I just added a delay between the UI creation and test start.
Earlier also, init is called to do UI creation and then start is immediately called which sets
inactiveFrame.setVisible(true);
activeFrame.setVisible(true);
All the semaphore logic is still the same after that
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27156#discussion_r2335404741
More information about the client-libs-dev
mailing list