shutdown after test
Thiago Milczarek Sayão
thiago.sayao at gmail.com
Wed Apr 24 12:30:50 UTC 2024
I don't know if it's related. But when running systemTests with Robot, it
gets stuck on a Swing test - it never exits.
Em qua., 24 de abr. de 2024 às 08:42, Johan Vos <johan.vos at gluonhq.com>
escreveu:
> While working on the systemtests for the Headless platform, I noticed
> timing issues with the Marlin QPath Test. Those have nothing to do with
> Marlin, but rather with the lifecycle. After the test ran,
> `test.util.Shutdown` is invoked (not on the JavaFX app thread). I noticed
> that this caused a timeout almost always when running the systemtest with
> the headless platform, and almost never when running with the regular (Gtk)
> platform.
> The problem is that the `test.util.Shutdown` method is invoking
> Platform.runLater() but in some cases (almost always in Headless and almost
> never in GTK) the runLater is not accepting runnables anymore. This happens
> because of the PlatformImpl.checkIdle which will shutdown the platform in
> case there are no windows and no pending runnables (and a few more
> conditions). This check runs on the JavaFX app thread, and it might trigger
> `tkExit` before the test-thread invokes `test.util.Shutdown`.
>
> There are a number of ways to solve this, e.g.
> * get rid of the separate shutdown procedure in the system tests.
> * set Platform.setImplicitExit(false) which will prevent tkExit being
> called when the last window is gone
> * add more safety in test.util.Shutdown so that it doesn't try to use the
> FX App thread when that is not accepting new runnables
> * ...
>
> Thoughts?
>
> - Johan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20240424/d5a04495/attachment.htm>
More information about the openjfx-dev
mailing list