RFR: 8334238: Enhance AddLShortcutTest jpackage test [v4]

Alexey Semenyuk asemenyuk at openjdk.org
Sun Aug 3 16:52:28 UTC 2025


> - Enhance AddLShortcutTest to cover more combinations of shortcut configurations of the main and additional launchers.
> - Test shortcuts in the predefined app image.
> 
> Additionally, rework launcher verification: move launcher icon and shortcut verification code from AdditionalLauncher into LauncherVerifier. This way launcher verification code is encapsulated in a single class that is applied to the main and additional launchers.
> 
> Rework launcher shortcut verification on Windows: Read shortcuts from MSI tables. This allows testing of expected and actual shortcuts without installing the MSI. This refactoring removed duplicated checks of file associations: It was performed for every additional launcher; now it is executed for the main launcher only. File association is bound to the main launcher, there is no point to verify it as many times as the number of launchers.
> 
> Implement launching launchers through shortcuts on Linux and Windows. The new `AddLShortcutTest.testInvokeShortcuts` test uses this new functionality.
> 
> Not directly related to the subject of the PR:
>  - JPackageCommand: Added missing and removed redundant `verifyMutable()` calls. Converted "jpt-unpacked-folder" option into the member field. Added `JPackageCommand.createMutableCopy()` complementary to the existing `JPackageCommand.createImmutableCopy()`.
>  - Added `test/jdk/tools/jpackage/clean_test_output.sh` Bash script filtering test logs to minimize noise in diffs.
> 
> Compared traces of IconTest, AddlauncherTest, and AddLShortcutTest tests with and without this patch to verify no unexpected changes in the coverage.

Alexey Semenyuk has updated the pull request incrementally with 10 additional commits since the last revision:

 - LauncherShortcut: add appImageFilePropertyName()
 - JPackageCommand: verify names of additional launcher are precisely recorded in .jpackage.xml file
 - JPackageCommand: remove path to the unpacked directory from the argument list as it interferes with extracting arguments with optional values.
 - clean_test_output.sh: better
 - AddLShortcutTest: make it a better fit for JDK-8308349
 - LinuxHelper: bugfix
 - AddLShortcutTest: modify
 - LinuxHelper: bugfix
 - WinShortcutVerifier: make it a better fit for JDK-8308349
 - LinuxHelper: allow empty lines in .desktop files

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/26584/files
  - new: https://git.openjdk.org/jdk/pull/26584/files/b5da8074..975a493f

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26584&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26584&range=02-03

  Stats: 56 lines in 6 files changed: 25 ins; 9 del; 22 mod
  Patch: https://git.openjdk.org/jdk/pull/26584.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26584/head:pull/26584

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


More information about the core-libs-dev mailing list