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

Erik Helin erik.helin at oracle.com
Thu Jan 14 16:03:05 UTC 2016

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:
>   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.
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.


> 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