RFR: 8352016: Improve java/lang/RuntimeTests/RuntimeExitLogTest.java [v2]
KIRIYAMA Takuya
duke at openjdk.org
Fri Mar 21 09:09:10 UTC 2025
On Wed, 19 Mar 2025 20:09:51 GMT, Roger Riggs <rriggs at openjdk.org> wrote:
>> KIRIYAMA Takuya has updated the pull request incrementally with one additional commit since the last revision:
>>
>> 8352016: Improve java/lang/RuntimeTests/RuntimeExitLogTest.java
>
> test/jdk/java/lang/RuntimeTests/ExitLogging-FINER.properties line 8:
>
>> 6:
>> 7: java.util.logging.ConsoleHandler.level = ALL
>> 8: java.lang.Runtime.level = FINER
>
> It is a waste of resources to test every combination of logger levels.
> This is not a test of the filtering mechanism built into the logger; it is a test that the message is logged when the logger level is set to DEBUG or finer.
> Only two test cases are needed for that.
I see. This test only takes a very short time, but shouldn't the cases be added?
> test/jdk/java/lang/RuntimeTests/RuntimeExitLogTest.java line 78:
>
>> 76: "java\\.lang\\.Throwable: Runtime\\.exit\\(" + status + "\\)\\n" +
>> 77: "\\s+at java\\.base/java\\.lang\\.Shutdown\\.logRuntimeExit\\(Shutdown\\.java:\\d+\\)\\n" +
>> 78: "\\s+at(?: .+)";
>
> Testing the exact logging message is too brittle/too exact.
> It should only be testing for the specific variable information that is unique to the case under test.
> It becomes burdensome to update tests when some small change occurs in a message.
The test should verify that the stack traces required for troubleshooting are logged correctly.
It avoid verifying line numbers likely to change frequently.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24050#discussion_r2007141009
PR Review Comment: https://git.openjdk.org/jdk/pull/24050#discussion_r2007140416
More information about the core-libs-dev
mailing list