On Fri, 12 Jan 2024 22:18:04 GMT, Alisen Chung <ach...@openjdk.org> wrote:
>> SunToolkit.java is trying to post an event on the TrayIcon appContext, but >> the TrayIcon was already removed by the test, causing an error. The fix is >> to make SunToolkit skip posting the event if appContext is null. The test is >> also updated to remove applet usage and use PassFailJFrame instead. > > Alisen Chung has updated the pull request incrementally with one additional > commit since the last revision: > > used jtreg.SkippedException, updated copyright years test/jdk/java/awt/TrayIcon/ShowAfterDisposeTest.java line 77: > 75: .build(); > 76: showFrameAndIcon(); > 77: passFailJFrame.awaitAndCheck(); May I suggest simplifying it even further? Suggestion: PassFailJFrame.builder() .title("Test Instructions Frame") .instructions(instructions) .testTimeOut(10) .rows(10) .columns(45) .testUI(ShowAfterDisposeTest::showFrameAndIcon) .build() .awaitAndCheck(); where `showFrameAndIcon` is modified like this: private static JFrame showFrameAndIcon() { JFrame frame = new JFrame("ShowAfterDisposeTest"); frame.setLayout(new BorderLayout()); // Rest of the code and no `invokeAndWait` // You'll have to add a try block around `tray.add(icon)` to catch and // wrap AWTException into RuntimeException. return frame; } Essentially, the additional frame is not required at all, it can be dropped but I haven't explored it. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17329#discussion_r1453427141