RFR(S): 8049071: Add jtreg jobs to JPRT for Hotspot
David Holmes
david.holmes at oracle.com
Fri Jul 4 04:46:43 UTC 2014
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
hotspot_%:
@echo "Running tests: $@"
@for each in $@; do \
echo $$each ;\
done
> make hotspot_a hotspot_b
Running tests: hotspot_a
hotspot_a
Running tests: hotspot_b
hotspot_b
Cheers,
David
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 (/):
> http://cr.openjdk.java.net/~mikael/webrevs/8049071/webrev.00/top/webrev/
> Webrev (hotspot/):
> http://cr.openjdk.java.net/~mikael/webrevs/8049071/webrev.00/hotspot/webrev/
>
>
> Summary:
>
> 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 populated.
>
> Narrative:
>
> 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 variable
> 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.
>
> Cheers,
> Mikael
>
More information about the hotspot-dev
mailing list