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.

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

Commit messages:
 - 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=00
  Issue: https://bugs.openjdk.org/browse/JDK-8375061
  Stats: 439 lines in 12 files changed: 138 ins; 170 del; 131 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

Reply via email to