RFR: 8356438: Update OutputAnalyzer to optionally print process output as it happens [v2]

Alice Pellegrini duke at openjdk.org
Thu Jun 5 09:36:37 UTC 2025


> The implemented solution modifies the `OutputBuffer` implementation instead of the `OutputAnalyzer` implementation.
> This is because the **OutputBuffer implementation which handles processes** (LazyOutputBuffer) starts a thread in its constructor, so we would need to add a strange additional constructor parameter to the `OutputBuffer.of(Process, Charset)` static method, while the printing through to stdout (and stderr) only makes sense for LazyOutputBuffer.
> 
> I believe changing the config option from `outputanalyzer.verbose` to `output buffer.verbose` would make it cleaner, and avoid referencing the OutputAnalyzer in the OutputBuffer implementation.

Alice Pellegrini has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Merge remote-tracking branch 'origin/master' into 8356438-outputanalyzer-optional-print
 - Update test/lib/jdk/test/lib/process/OutputBuffer.java
   
   Co-authored-by: Chen Liang <liach at openjdk.org>
 - Initial working solution

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25587/files
  - new: https://git.openjdk.org/jdk/pull/25587/files/db559d20..7cfbec22

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

  Stats: 20245 lines in 457 files changed: 17183 ins; 1318 del; 1744 mod
  Patch: https://git.openjdk.org/jdk/pull/25587.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25587/head:pull/25587

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


More information about the core-libs-dev mailing list