> The patch addresses two issues: > - Each jpackage tool provider instance should have its own logging config > instance. > - The test lib should be able to keep output from concurrently running tests > isolated from each other. > > These two fixes are bundled together because it is impossible to verify the > jpackage implementation fix without fixing the test lib. > > The test lib fix replaces all inheritable thread-local variables with scoped > values. It fixes the interleaved output issue and simplifies the > implementation. > > Supplementary changes: > - jdk.jpackage.internal.cli.Main: when creating a `java.io.PrintWriter` from > a `java.io.PrintStream`, copy the charset instead of using the default one.
Alexey Semenyuk has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits: - Fix JPackageCommand.isWithToolProvider(); support using a custom jpackage tool provider with JPackageCommand instance in addition to existing support to alter the default jpackage tool provider; Add corresponding unit test. - Merge branch 'master' into AsyncTest-better-output - Update copyright year - Log: fix the bug revealed by AsyncTest that log messages from all jpackage instances go into the log streams of the last started jpackage instead of going in log streams associated with these jpackage instances. - Use ScopedValue - JUnitAdapter: fix charset - cli/Main: fix charsets when converting from PrintStream to PrintWriter - Simplify TKit; make AsyncTest properly collect test cases logs ------------- Changes: https://git.openjdk.org/jdk/pull/29175/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29175&range=01 Stats: 690 lines in 14 files changed: 386 ins; 162 del; 142 mod Patch: https://git.openjdk.org/jdk/pull/29175.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/29175/head:pull/29175 PR: https://git.openjdk.org/jdk/pull/29175
