RFR: JDK-8213214: Set -Djava.io.tmpdir= when running tests

Jonathan Gibbons jonathan.gibbons at oracle.com
Wed Jun 17 16:33:56 UTC 2020


On 6/17/20 5:55 AM, Erik Joelsson wrote:
> On 2020-06-16 15:53, Jonathan Gibbons wrote:
>> It would also be good to identify the tests that are using temporary 
>> directories in this manner and have them use the jtreg scratch 
>> directory where possible.
>>
> I completely agree that tests should be fixed to behave better. Using 
> scratch instead of tmp is (almost) always a much better idea.
>
> This workaround is needed to solve the immediate problem of certain 
> classes of machines in our test farm filling up small disks very fast.

Maybe some part of the system (i.e. either Makefile or jtreg) could 
generate a list after the test run of what (new) files were written into 
java.io.tmpdir.

-- Jon


>
> /Erik
>
>> -- Jon
>>
>> On 6/16/20 12:22 PM, Erik Joelsson wrote:
>>> (re-sending this as it doesn't look like it was delivered)
>>>
>>> There are a lot of jtreg tests that use temporary files. These 
>>> temporary files add up over time and fill up the global temp 
>>> directories on our test systems. To tackle this, we should try to 
>>> redirect these temporary files into a directory controlled by the 
>>> test framework. Jtreg does not do this, but we can set 
>>> -Djava.io.tmpdir from RunTest.gmk. This will not prevent all temp 
>>> files from being created outside of the work dir, but at least most.
>>>
>>>
>>> I have found one test where this becomes an issue, 
>>> java/nio/file/Path/Misc.java on Windows when running in elevated 
>>> mode with the workspace on a subst drive. This looks like an actual 
>>> issue in the product, so I have filed a separate bug for it [1]. 
>>> Since we currently use subst in our distributed test system to get 
>>> around Windows path length issues, we are hitting this problem. 
>>> While the bug is being evaluated, I have implemented a workaround in 
>>> the test so that it is able to handle the known situation. I would 
>>> like to have someone from core-libs look at the workaround.
>>>
>>> Webrev: http://cr.openjdk.java.net/~erikj/8213214/webrev.01/
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8213214
>>>
>>> /Erik
>>>
>>> [1] https://bugs.openjdk.java.net/browse/JDK-8213216
>>>
>>>



More information about the build-dev mailing list