RFR: 7903953: Use scratch directory for JUnit's TempDir annotation [v3]

Jaikiran Pai jpai at openjdk.org
Tue Feb 25 07:59:09 UTC 2025


On Tue, 25 Feb 2025 07:55:44 GMT, Christian Stein <cstein at openjdk.org> wrote:

>> Please review this change to use `jtreg`'s scratch directory for JUnit's `@TempDir` annotation.
>> 
>> Prior to this change, the standard implementation of JUnit Jupiter using the system default temporary directory is active, effectively decoupling the location of "interesting on failure" files from `jtreg`:
>>> When `jtreg` executes a test, the current directory for the test is set to a scratch directory so that the test can easily write any temporary files.
>> 
>> Find more details about `jtreg`'s scratch directory at https://openjdk.org/jtreg/faq.html#scratch-directory
>> 
>> In addition to use the current working directory for `@TempDir` annotated paths, this change also switches off JUnit's built-in cleanup of temporary files - leaving it to `jtreg` to care about it, see for example the help message for  the `-retain` command-line option:
>> 
>> 
>>     -retain | -retain:<pass,fail,error,all,file-pattern>,...
>>                     Specify files to be retained after each test completes
>>                     executing. If -retain is not specified, only the files from
>>                     the last test executed will be retained. If -retain is
>>                     specified with no argument, all files will be retained.
>>                     Otherwise, the files may be described by one or more of the
>>                     following values:
>>         none            Do not retain any of the files generated by each test
>>         pass            Retain files generated by tests that pass
>>         fail            Retain files generated by tests that fail
>>         error           Retain files generated by tests that caused an error
>>         all             Retain all files generated by each test
>>         file-pattern    Retain files that match a specific filename. The name
>>                         may contain '*' to match any sequence of characters. For
>>                         example, result.* or *.err.
>
> Christian Stein has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add comment

Thank you Christian for the updates. This looks good to me.

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

Marked as reviewed by jpai (Reviewer).

PR Review: https://git.openjdk.org/jtreg/pull/248#pullrequestreview-2639943133


More information about the jtreg-dev mailing list