On Thu, 28 Jan 2021 14:33:35 GMT, Aleksey Shipilev <sh...@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

Reply via email to