RFR: 8146985: Change output directory for hotspot's jtreg tets to build/conf/hotspot/testoutput

David Holmes david.holmes at oracle.com
Fri Jan 15 02:18:34 UTC 2016

On 15/01/2016 2:03 AM, Erik Helin wrote:
> On 2016-01-14, David Holmes wrote:
>> Sorry I don't understand the change. AFAICS ALT_OUTPUTDIR could be anything
>> - no guarantee that it already contains the "CONF" directory.
>> Any why only change one path:
>>    ifdef ALT_OUTPUTDIR
>> !   ABS_BUILD_ROOT = $(ALT_OUTPUTDIR)/hotspot
>>    else
>>      ABS_BUILD_ROOT = $(TEST_ROOT)/../build/$(PLATFORM)-$(ARCH)
>> ?? When do we take each path?
> The only "oficially" supported way of using the hotspot Makefiles is to
> use the Makefiles in the top-level repo (e.g. jdk9/hs-rt). The Makefiles
> in the top-level repo will always set ALT_OUTPUTDIR to
> <top-level>/build/<conf>. Hence, for any developer using these
> Makefiles, ALT_OUTPUTDIR will always point to the current configuration.

You're right - what I should have said is that there is no guarantee 
that the conf directory contains os-cpu. But regardless, for any given 
conf there is only one os-cpu pair so having that in the path is 
pointless, so the change is fine.

> If anyone is using ALT_OUTPUTDIR in some other way, then they are "on
> their own" (i.e. they will have to adjust their scripts).
> The one exception to this is JPRT, which does not use ALT_OUTPUTDIR at
> all, and therefore uses the "else" branch. I don't want to change the
> behaviour in JPRT, therefore I only changed the "then" branch.

Okay -makes good sense.


> Thanks,
> Erik
>> David
>> -----
>> On 14/01/2016 4:54 AM, Mikael Vidstedt wrote:
>>> The logic in this file (hotspot/test/Makefile) is very similar to that
>>> of jdk/test/Makefile, as a matter of fact some of it has been copy
>>> pasted. It would be nice if the output dir paths would be set up the
>>> same way in both cases, to avoid confusion and all of that.
>>> It would be even better to share the logic all together to avoid
>>> duplication, but that's a separate issue.
>>> Cheers,
>>> Mikael
>>> On 2016-01-13 06:04, Erik Helin wrote:
>>>> (added missing subject)
>>>> On 2016-01-13, Erik Helin wrote:
>>>>> Hi all,
>>>>> this patch changes the output directory for hotspot's jtreg tests when
>>>>> run via the top-level Makefile targets such as
>>>>> `make test-hotspot-jtreg`.
>>>>> The current directory is
>>>>> <top-level>/build/<conf>/hotspot/linux-x64/testoutput
>>>>> (on an x86-64 machine running Linux). There is no need to place the
>>>>> "testoutput" directory in a directory which name is based on OS and
>>>>> arch,
>>>>> that is already done by the current configuration. Therefore, we can
>>>>> instead place the "testoutput" directory in
>>>>> <top-level>/build/<conf>/hotspot/, which is a more reasonable location
>>>>> for the output from hotspot's tests.
>>>>> Enhancement:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8146985
>>>>> Webrev:
>>>>> http://cr.openjdk.java.net/~ehelin/8146985/00/webrev
>>>>> Testing:
>>>>> - Running `make test-hotspot-jtreg` locally
>>>>> - JPRT (the patch does not affect JPRT since JPRT does not use
>>>>> Thanks,
>>>>> Erik

More information about the hotspot-dev mailing list