RFR: 8206430: Use consistent pattern for startup in FX system tests

Andy Goryachev angorya at openjdk.org
Wed Nov 16 17:22:28 UTC 2022


On Wed, 16 Nov 2022 00:21:53 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

>> 1. Introduced the following utility methods:
>> - Util.launch
>> - Util.shutdown
>> - Util.waitForLatch
>> 2. Fixed the out-of order calls to Stage.hide() and Platform.exit() in many tests' shutdowns.
>> 3. Replaced local waitForLatch copies with Util.waitForLatch
>
> tests/system/src/test/java/test/util/Util.java line 338:
> 
>> 336:     public static void shutdown(Stage... stages) {
>> 337:         // why isn't runAndWait() exposed as a public API?
>> 338:         PlatformImpl.runAndWait(() -> {
> 
> Not providing a public `runAndWait` was a deliberate choice. In any case, tests or utilities that need to wait should use the `runAndWait` method in this Util class in preference to `PlatformImpl`. For one thing it will throw exceptions back to the caller where as the `PlatformImpl` method will not.
> 
> I think `Platform.runLater` should be sufficient here, but as long as the tests are still stable when using `runAndWait`, I don't have a strong objection.

Will change the code to use Util.runAndWait, I think we should let the test code run its course in @AfterClass than to risk the test framework killing the process unexpectedly.
Thank you for clarification, @kevinrushforth !

-------------

PR: https://git.openjdk.org/jfx/pull/950


More information about the openjfx-dev mailing list