RFR: 8260592: jpackage tests fail when Desktop is not supported
Alexey Semenyuk
asemenyuk at openjdk.java.net
Thu Jan 28 20:16:40 UTC 2021
On Thu, 28 Jan 2021 14:33:35 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> If you run x86 configuration (cross-compiled on x86_64), then many tests would fail with:
>
> $ CONF=linux-x86-server-fastdebug make images run-test TEST=tools/jpackage
> ...
> can not load libgnomevfs-2.so
> Exception in thread "main" java.lang.ExceptionInInitializerError
> Caused by: java.lang.UnsupportedOperationException: Desktop API is not supported on the current platform
> at java.desktop/java.awt.Desktop.getDesktop(Unknown Source)
> at com.that/com.that.main.Florence.createInstance(Unknown Source)
> at com.that/com.that.main.Florence.<clinit>(Unknown Source)
> Failed to launch JVM
> java.lang.AssertionError: Expected [0]. Actual [1]: Check command [/home/shade/trunks/jdk/build/linux-x86-server-fastdebug/test-support/jtreg_test_jdk_tools_jpackage/scratch/10/./testMainLauncherIsModular.ed4f638d/output/MainLauncherIsModularAddLauncherTest/bin/ModularAppLauncher](1) exited with 0 code
>
> The tests probably need to check `Desktop.isDesktopSupported()`, similarly how they check `GraphicsEnvironment.isHeadless()`.
>
> Additional testing:
> - [x] Linux x86_32 `tools/jpackage` (now pass)
> - [x] Linux x86_64 `tools/jpackage` (still pass)
Changes requested by asemenyuk (Committer).
test/jdk/tools/jpackage/apps/image/Hello.java line 166:
> 164: }
> 165:
> 166: if (!Desktop.isDesktopSupported()) {
Would it make more sense to replace
`if (GraphicsEnvironment.isHeadless())`
with
`if (GraphicsEnvironment.isHeadless() || !Desktop.isDesktopSupported())`
without need to add another `trace()` call?
-------------
PR: https://git.openjdk.java.net/jdk/pull/2291
More information about the core-libs-dev
mailing list