On Fri, 13 Dec 2024 19:46:54 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
> This PR fixes a latent test bug in test bug in > `SwingNodePlatformExitCrashTest` by setting a flag to skip shutdown rather > than relying on a quirk of JUnit 5.8.1. > > I discovered this while testing PR #1662 which updates JUnit to 5.11.3. > > > $ gradle sdk shims > $ gradle -PTEST_ONLY=true -PFULL_TEST=true -PUSE_ROBOT=true :systemTests:test > --tests SwingNodePlatformExitCrashTest > ... > SwingNodePlatformExitCrashTest > executionError FAILED > org.opentest4j.AssertionFailedError: Exceeded timeout limit of 10000 msec > at app//test.util.Util.runAndWait(Util.java:168) > at app//test.util.Util.runAndWait(Util.java:139) > at app//test.util.Util.shutdown(Util.java:316) > at > app//test.robot.javafx.embed.swing.SwingNodeBase.teardownOnce(SwingNodeBase.java:81) > ... > > > The abstract `SwingNodeBase` base class calls `Util::shutdown` from its > static `tearDownOnce` method, annotated with `@AfterAll`. The > `SwingNodePlatformExitCrashTest` shuts down the FX toolkit as part of the > test so must not call shutdown a second time. The current test logic attempts > to "override" the static method in the base class with an `@AfterAll` > annotation on a static method of the same name in the subclass. This > accidentally works in JUnit 5.8 by hiding the method in the parent class, but > no longer does in JUnit 5.11. > > The right fix is for the subclass to set a flag such that the superclass will > skip the call to `Util::shutdown`. Marked as reviewed by mhanl (Committer). Thanks for investigating this in https://github.com/openjdk/jfx/pull/1662. I have read all comments and can confirm your investigation! Funny enough, I found a similar problem when updating another project to the latest JUnit version. So it seems like a good idea to update JUnit so that we can no longer write tests that violate this behavior, only to find out later. ------------- PR Review: https://git.openjdk.org/jfx/pull/1664#pullrequestreview-2504266624 PR Comment: https://git.openjdk.org/jfx/pull/1664#issuecomment-2543369358