On Wed, 28 Feb 2024 01:31:16 GMT, Harshitha Onkar <hon...@openjdk.org> wrote:

>> i'm not sure i understand this, the test is trying to remove right after the 
>> click action is delivered and not before the test is closing, so wouldn't 
>> putting the removal of the icon in a finally block defeat the purpose of the 
>> test?
>
> @alisenchung  Since the trayicon is added back after removal and 
> PassFailJFrame handles disposal of test windows only, Aleksei is suggesting 
> we handle the removal of trayicon explicitly (when test is run outside of 
> jtreg) something like below. You probably want to move `systemTray` and 
> `trayIcon` vars accordingly.
> 
> 
> try {
>     PassFailJFrame.builder()
>                   .title("Event Message Display")
>                   .instructions(instructions)
>                   .testTimeOut(5)
>                   .rows(15)
>                   .columns(45)
>                   .testUI(DisposeInActionEventTest::showFrameAndIcon)
>                   .build()
>                   .awaitAndCheck();
> } finally {
>      systemTray.remove(trayIcon);
> }

That's correct! Otherwise, the orphan icon is left the system tray. When the 
test is run without jtreg, it doesn't terminate because the tray icon doesn't 
allow EDT to stop.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17838#discussion_r1505780530

Reply via email to