On Thu, 28 Jan 2021 20:13:23 GMT, Alexey Semenyuk <asemen...@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) > > 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? I would prefer to have separate messages for "headless" and "desktop capable". I can merge these, if you insist. ------------- PR: https://git.openjdk.java.net/jdk/pull/2291