RFR(S): 8049071: Add jtreg jobs to JPRT for Hotspot
david.holmes at oracle.com
Fri Jul 4 05:29:25 UTC 2014
On 4/07/2014 2:46 PM, David Holmes wrote:
> Hi Mikael,
> Generally looks okay - took me a minute to remember that jtreg groups
> combine as set unions :)
> A couple of things:
> 226 # Unless explicitly defined below, hotspot_<x> is interpreted as the
> jtreg test group <x>
> The jtreg group is actually called hotspot_<x>
> 227 hotspot_%:
> 228 $(ECHO) "Running tests: $@"
> 229 for each in $@; do \
> 230 $(MAKE) -j 1 TEST_SELECTION=":$$each"
> UNIQUE_DIR=$$each jtreg_tests; \
> 231 done
> While hotspot_% can match multiple targets each target will be distinct
> - ie $@ will only every have a single value and the for loop will only
> execute once - and hence is unnecessary. This seems borne out with a
> simple test:
> > cat Makefile
> @echo "Running tests: $@"
> @for each in $@; do \
> echo $$each ;\
> > make hotspot_a hotspot_b
> Running tests: hotspot_a
> Running tests: hotspot_b
Though if you have a quoting issue with the invocation:
> make "hotspot_a hotspot_b"
Running tests: hotspot_a hotspot_b
things turn out different.
> On 3/07/2014 11:08 AM, Mikael Vidstedt wrote:
>> Please review this enhancement which adds the scaffolding needed to run
>> the hotspot jtreg tests in JPRT.
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8049071
>> Webrev (/):
>> Webrev (hotspot/):
>> We want to run the hotspot regression tests on every hotspot push. This
>> change enables this and adds four new test groups to the set of tests
>> being run on hotspot pushes. The new test sets still need to be
>> The majority of the changes are in the hotspot/test/Makefile. The
>> changes are almost entirely stolen from jdk/test/Makefile but have been
>> massaged to support (at least) three different use cases, two of which
>> were supported earlier:
>> 1. Running the non-jtreg tests (servertest, clienttest and
>> internalvmtests), also supporting the use of the "hotspot_" for when the
>> tests are invoked from the JDK top level
>> 2. Running jtreg tests by selecting test to run using the TESTDIRS
>> 3. Running jtreg tests by selecting the test group to run (NEW)
>> The third/new use case is implemented by making any target named
>> hotspot_% *except* the ones listed in 1. lead to the corresponding jtreg
>> test group in TEST.groups being run. For example, running "make
>> hotspot_gc" leads to all the tests in the hotspot_gc test group in
>> TEST.groups to be run and so on.
>> I also removed the packtest targets, because as far as I can tell
>> they're not used anyway.
>> Note that the new component test groups in TEST.group -
>> hotspot_compiler, hotspot_gc, hotspot_runtime and hotspot_serviceability
>> - are currently empty, or more precisely they only run a single test
>> each. The intention is that these should be populated by the respective
>> teams to include stable and relatively fast tests. Tests added to the
>> groups will be run on hotspot push jobs, and therefore will be blocking
>> pushes in case they fail.
More information about the hotspot-dev