RFR: 8336332: Rework tests to avoid unrelated stderr output [v5]

Kevin Rushforth kcr at openjdk.org
Wed Sep 17 23:31:35 UTC 2025


On Wed, 17 Sep 2025 23:07:13 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

>> This PR removes unrelated `stderr` output in the headless test logs by redirecting it to an in-memory buffer.  Exceptions found in the buffer can be checked against the expected list.
>> 
>> In the case when any mismatch is detected, whether the type or the number of exceptions of particular type, the accumulated buffer gets dumped to `stderr` and the test fails.
>> 
>> ## How To
>> 
>> To redirect stderr and later check the exceptions, surround your code with
>> 
>> `OutputRedirect.suppressStderr()` and either `OutputRedirect.checkStderr()` or `OutputRedirect.checkAndRestoreStderr()` (ideally, in the `finally` block).
>> 
>> To simply undo redirection, without checking, call  `OutputRedirect.restoreStderr()`.
>> 
>> To add the check to all the tests in the file, one can call the above mentioned methods inside  `@BeforeEach` and `@AfterEach`.
>> 
>> ## Changes
>> 
>> - added `OutputRedirect` facility
>> - fixed ErrorLoggingUtiltity name
>
> Andy Goryachev 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 21 additional commits since the last revision:
> 
>  - snapshot 1 test
>  - Merge remote-tracking branch 'origin/master' into 8367567.expected
>  - expected
>  - single exit common
>  - message
>  - whitespace
>  - launcher test
>  - revert add exports
>  - decouple logging
>  - test.javafx.util
>  - ... and 11 more: https://git.openjdk.org/jfx/compare/a6915386...98f60999

modules/javafx.base/src/test/java/test/com/sun/javafx/binding/ErrorLoggingUtility.java line 36:

> 34: import com.sun.javafx.logging.PlatformLogger.Level;
> 35: 
> 36: public class ErrorLoggingUtility {

I see you left in the name change to `ErrorLoggingUtility`. I was hoping you'd revert that along with the other changes to this file, since they are now unrelated and make the PR much larger to review. Yes, I know it's a mechanical change, but I find it hard to see what has "really" changed now.

Suggestion: revert the name change to this utility, since it is no longer relevant.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1897#discussion_r2356991012


More information about the openjfx-dev mailing list