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`. ------------- Commit messages: - 8346222: SwingNodePlatformExitCrashTest fails with JUnit 5.11.3 Changes: https://git.openjdk.org/jfx/pull/1664/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1664&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8346222 Stats: 11 lines in 2 files changed: 4 ins; 1 del; 6 mod Patch: https://git.openjdk.org/jfx/pull/1664.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1664/head:pull/1664 PR: https://git.openjdk.org/jfx/pull/1664