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