On Aug 7 2013, at 20:47 , Jonathan Gibbons wrote:

> On 08/07/2013 07:33 PM, Stuart Marks wrote:
>> On 8/7/13 6:44 PM, Jonathan Gibbons wrote:
>>> On 08/07/2013 06:22 PM, Alan Bateman wrote:
>>>> It's good to see this logic going away. Also defaulting the output 
>>>> directory
>>>> to TEST_ROOT (= pwd) is an improvement.
>>> 
>>> Aaargh.  If I read those words correctly, it's a horrible idea to set the
>>> output dir to TEST_ROOT -- because on reruns jtreg will have to scan the 
>>> output
>>> files looking for new tests!
>> 
>> I liked the old behavior of the output dir being over in the build area. Not 
>> only does it avoid the problem that Jon mentions, but also, the build area 
>> is in the repo's .hgignore file. Thus all the generated files will be 
>> ignored by hg. If the generated files were to go under TEST_ROOT, it will 
>> cause "hg status" to run slowly and to produce voluminous output.
>> 
>> s'marks
> 
> ^^ What he said.   And the paranoid man's "make clean" of "rm -rf build" 
> works really well. :-)
> 
> Writing any files into a SCM-controlled directory is a bad idea.

I don't disagree but don't have any other better location to use for the 
default other than perhaps ../../build itself (not a config directory).

The problem is that, currently, the jdk/test/Makefile can't correctly locate 
the build/fancy-configuration-name/testoutput directory. The logic that is in 
test/Makefile doesn't match the convention used by the new build infrastructure 
and I was unwilling to attempt to update it. To match the behaviour of the root 
repo makefiles it would be better to import logic from those makefiles. So far 
this change has been beyond the scope of my changes (though it is on my future 
list). Both JPRT and the root repo makefiles pass in ALT_OUTPUTDIR to 
test/Makefile to save the output somewhere other than into the CWD. Only 
running the test/Makefile directly will be impacted. I vacillated on whether to 
go ahead with this change but after a report that macosx output was being sent 
to the wrong location I opted to just scrap rather than fix. 

Poking whoever needs to get poked to fix JDK-8016212 would help. Having this 
mechanism would allow test/Makefile to access the same logic as the root repos 
use for determining the location of the build directory including support for 
CONF.

Mike

Reply via email to