On Wed, 28 Feb 2024 01:31:16 GMT, Harshitha Onkar <[email protected]> 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