Request for guidance on fixing JDK-8075571: Support tier1 and tier2 make targets
joe.darcy at oracle.com
Wed Jun 3 05:52:24 UTC 2015
Thanks for the pointers Jon.
A not-quite-finished version of this work is up at
The nashorn test makefile is copied from the jaxp one with s/jaxp/nashorn/g.
While I'm at it, I think it is worthwhile to add support nominal support
for tier 3 tests since there are at least some tier 3 tests we'll want
to add in the future.
The top-level filtering of the langtools targets isn't quite working as
desired; a colon to indicate a test group is not getting passed along.
Some different filtering of the langtools arguments is needed?
On 6/2/2015 2:21 PM, Jonathan Gibbons wrote:
> The magic you need to manipulate is lines 54-71 (approx) in
> # Default test target (core)
> default: jdk_core langtools_jtreg jaxp_all
> # All testing
> all: jdk_all langtools_all jaxp_all
> # Test targets
> langtools_% :
> @$(NO_STOPPING)$(call SUBDIR_TEST, $(LANGTOOLS_DIR),
> JT_JAVA=$(PRODUCT_HOME) JTREG_HOME=$(JT_HOME) TEST="$(subst
> langtools_,,$@)" $(subst langtools_,,$@))
> jdk_% core_%s svc_%:
> @$(NO_STOPPING)$(call SUBDIR_TEST, $(JDK_DIR), TEST="$@" $@)
> @$(NO_STOPPING)$(call SUBDIR_TEST, $(JAXP_DIR), TEST="$@" $@)
> @$(NO_STOPPING)$(call SUBDIR_TEST, $(HOTSPOT_DIR), TEST="$@" $@)
> These lines set up how test targets are mapped into individual targets
> in the individual repos. Note the pattern-matching rules for
> langtools_%, jdk_%, jaxp_%, hotspot%
> To add a new top level :tier1 target, I would copy the "all" target
> and add something like
> tier1: jdk_tier1 langtools_tier1 jaxp_tier1
> (i.e. delegating to all repos that support a :tier1 test target).
> You will want to add a tier1 target into langtools/test/Makefile for
> this to work, because the langtools_% target strips off the
> "langtools_" prefix
> For other repos, make sure there is a jdk-tier1 target, jaxp-tier1
> target, etc, since no prefix stripping is done on those targets.
> You might want to consider whether to (or not to) run the test targets
> in parallel. Depending how the individual repo test targets are set
> up, you could easily swamp your machine if you run too many
> invocations of jtreg in parallel.
> -- Jon
> On 06/02/2015 01:04 PM, joe darcy wrote:
>> Hello makefile gurus,
>> To provide the next level of support to the tiered testing policy
>> , I'd like to get some advice on how best to tackle
>> JDK-8075571: Support tier1 and tier2 make targets
>> From the bug, currently one can invoke test groups like so:
>> make test-only TEST=jdk_lang
>> That this, this above make command will run the tests in the
>> ":jdk_lang" test group. By applying the simple edit
>> diff -r df4d75f58f15 test/Makefile
>> --- a/test/Makefile Thu May 28 11:31:40 2015 -0700
>> +++ b/test/Makefile Tue Jun 02 13:00:06 2015 -0700
>> @@ -263,7 +263,7 @@
>> # ------------------------------------------------------------------
>> -jdk_% core_% svc_%:
>> +jdk_% core_% svc_% tier%:
>> $(ECHO) "Running tests: $@"
>> for each in $@; do \
>> $(MAKE) -j 1 TEST_SELECTION=":$$each" UNIQUE_DIR=$$each
>> jtreg_tests; \
>> to the test/Makefile, I was hoping
>> make test-only TEST=tier1
>> would in turn be able to run the ":tier1" test group. But alas, that
>> does not occur and I don't see what is (not) happening for that
>> omission to take place.
More information about the build-dev