RFR: 8370122: jpackage test lib improvements

Alexey Semenyuk asemenyuk at openjdk.org
Mon Oct 20 17:09:57 UTC 2025


Assorted updates to jpackage test lib:

- Use `--release 11` javac option to compile test app. This allows custom runtimes created from older JDKs to be used. Using external runtimes allows to avoid jpackage running jlink in every test and saves time in local tests. With this change, creating a single stub runtime and using it with jpackage tests across multiple releases is possible.
- Add "JUnitUtils" helper. 
- Add "ObjectMapper" class that converts a given object into a property map (`Map<String, Object>`). Handy to create a dump of object hierarchies.
- Add "ConfigurationTarget" class to simplify applying the same initializers when testing app image and native package bundling.
- Fix "AppImagePackageTest" test to make it produce a valid macOS bundle to leverage the default verification of jpackage output in the jpackage test lib.
- Add test cases for the main/additional launcher descriptions to AddLauncherTest test.
- Add validation of the "Comment" key value in Linux .desktop files.

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

Commit messages:
 - AddLauncherTest: add test cases for the main/additional launcher descriptions
 - AppImagePackageTest: better logging; ObjectMapper: fix a warning
 - jpackage test lib: assorted improvements; LinuxHelper: validate "Comment" property of a .desktop file
 - Fix bad merge
 - Merge branch 'master' into JDK-8370122
 - IdentityWrapper: trim trailing whitespace
 - Move IdentityWrapper to jdk.jpackage.internal.util package for later use by CompositeProxy
 - ApplicationLayout: runtime layout should have a valid "runtimeHome" property
 - Fix the merge
 - LinuxHelper: revamp
 - ... and 10 more: https://git.openjdk.org/jdk/compare/eff6439e...93b66610

Changes: https://git.openjdk.org/jdk/pull/27872/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27872&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8370122
  Stats: 2312 lines in 24 files changed: 2216 ins; 27 del; 69 mod
  Patch: https://git.openjdk.org/jdk/pull/27872.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27872/head:pull/27872

PR: https://git.openjdk.org/jdk/pull/27872


More information about the core-libs-dev mailing list