RFR: 8350013: Add a test for JDK-8150442 [v2]

Alexey Semenyuk asemenyuk at openjdk.org
Fri Feb 28 01:21:20 UTC 2025


> Add a test to verify jpackage is using a custom MSI condition blocking package installation depending on the version of Windows where the package installer runs. Support for this MSI condition was added in [JDK-8150442](https://bugs.openjdk.org/browse/JDK-8150442).
> 
> The test adds an unconditionally failing OS-version MSI condition to the resource directory. MSI installer using this condition should always fail. The exit code of the failed installation would be 1603. Extended error information can be dug in the MSI log file. To make the test work, the following changes to jpackage test lib have been made:
>  - Support non-0 exit code from MSI install handler. Support for non-0 exit codes was added to install handlers of all other types too. Added `PackageTest.setExpectedInstallExitCode(int)` method to configure the expected exit code of a package installation;
>  - Support using msi log files when MSI and EXE packages get installed, unpacked, or uninstalled. Added `PackageTest.createMsiLog(boolean)` to enable or disable creation of msi log files in a PackageTest instance and `Optional<Path> JPackageCommand.winMsiLogFile()` to access the current log file from the callbacks registered with the PackageTest instance.
> 
> Added tests for PackageTest class (PackageTestTest).
> 
> Additionally, improved the code in WindowsHelper detecting paths to Start Menu, Desktop, and other common paths. Previously, it relied on reading these paths from the registry. On some machines, required registry keys are not available. The code now will call .NET `Environment.GetFolderPath()` function through powershell if a registry key is missing.

Alexey Semenyuk has updated the pull request incrementally with one additional commit since the last revision:

  Cleanup

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/23825/files
  - new: https://git.openjdk.org/jdk/pull/23825/files/a27cb527..43ff8704

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23825&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23825&range=00-01

  Stats: 34 lines in 4 files changed: 2 ins; 8 del; 24 mod
  Patch: https://git.openjdk.org/jdk/pull/23825.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23825/head:pull/23825

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


More information about the core-libs-dev mailing list