RFR: 8377629: jpackage: Tighten up output validation in tests

Alexey Semenyuk asemenyuk at openjdk.org
Wed Feb 11 09:34:05 UTC 2026


On Tue, 10 Feb 2026 03:04:18 GMT, Alexey Semenyuk <asemenyuk at openjdk.org> wrote:

> Tighten up jpackage's output validation.
> 
>  - Support separate validation of jpackage's stdout and stderr. Previously, validation was applied to the merged stdout and stderr output, so errors were not detected when jpackage expected to write to stdout but wrote to stderr instead
> - 99% of test cases in ErrorTest will check that jpackage's stderr contains exact expected error messages and doesn't contain additional text lines
> - Use `String.equals()` instead of `String.contains()` when validating strings from jpackage string bundles in jpackage output
> 
> Replace TKit.TextStreamVerifier.Group class with a more capable JPackageOutputValidator.
> 
> Fix revealed issues:
>  - jdk.jpackage.internal.AppImageSigner: use `Log.fatalError()` to report a fatal signing error instead of `Log.info()`. This change directs signing error messages to stderr, where all warnings and errors belong, rather than stdout.
>  - On macOS, when the value of the "--app-image" option is not a directory, jpackage used to report two errors: that the value is not a directory and that it is not a macOS bundle. This behavior has changed: jpackage will report only the first error. If the value of the "--app-image" option is a directory that is not a valid macOS bundle, jpackage will fail with the corresponding error.

@sashamatveev PTAL

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

PR Comment: https://git.openjdk.org/jdk/pull/29644#issuecomment-3882081288


More information about the core-libs-dev mailing list