RFR : 8006594/8006595 : Define jdk_core test set
mike.duigou at oracle.com
Sat Feb 2 20:40:53 UTC 2013
I have updated both the jdk repo patch:
8006594: Add jdk_core target to jdk/test/Makefile
and the root repo patch:
8006595: Use jdk/test/Makefile targets in preference to local definitions
The primary difference between this version and the previous is the judicious use of "-k" option and silencing of command spew. A top-level make test TEST=jdk_core now succeeds even if sub-tests fail.
I investigated changing the behaviour which determines the test output location so that all jdk_core output would be in a single directory. I have opted to not change it yet as I can't be certain what depends upon the current behaviour.
I would like to change one additional aspect--currently the "prep" target forces the output dir to be wiped via a dependency on "clean". I would like to remove this dependency and not wipe the output dir with each run. For RE and JPRT uses they are likely to be running in fresh directories anyway so this change should only impact developers who likely wouldn't want the complete wipe anyway.
There are some things about the jtreg_tests target which seem very specific to how JPRT uses this makefile. Not all of the behaviours, such as bundling of test output into zip files, make sense for all likely users of this makefile. I will work with Kelly to partition the JPRT functionality and better understand how this Makefile is used by JPRT for future patches.
On Jan 29 2013, at 11:31 , Mike Duigou wrote:
> On Jan 23 2013, at 06:35 , Alan Bateman wrote:
>> On 22/01/2013 21:15, Mike Duigou wrote:
>>> Hello all;
>>> This is a two piece patch.
>>> 8006594: Add jdk_core target to jdk/test/Makefile
>>> 8006595: Use jdk/test/Makefile targets in preference to local definitions
>>> I chose to do it as two patches because the changes are in different repos and the changes in 8006594 could be committed without the 8006595 changes.
>>> The webrevs are:
>> The changes in this one look okay to me but doesn't it mean that not all targets will be run if there is a test failure?
> I'm going to investigate calling make with the -k option as jon gibbons suggests.
>> For example, if a test in the jdk_lang target failures then I assume this will cause make to abort and none of the other test targets will run.
>> The other thing that is that I assume this means the results are in scattered locations where I would think that anyone doing "make test TEST=jdk_core" would expect to get one set of results.
> My strategy for this is to use an explicit reporting stage to generate the jtreg report and not generate reports for each test target. I am still working on this piece.
>> As an aside, I personally prefer to run jtreg directly and I keep a "core.list" with the exploded list of directories that corresponds to jdk_core in this webrev. The nice thing about it is that it is one jtreg run so all the results in together and easily browsed. You mentioned that this is the in a series of patches so you might be looking into moving in that direction too.
>> The comment on L83 says "everything", maybe that should be updated (it was wrong before your change too). Otherwise I think this is okay. It's a pity that we have the list of targets in so many places, it's so easy to have mis-matches.
> I will try to remove the need to list the test targets in future patches. I will possibly just pass TEST to the jdk/test/Makefile.
>> You mentioned pushing this via jdk8/build but it's probably okay to push it via jdk8/tl because the build doesn't care about the test Makefiles.
> Noted. Removing build-dev.
More information about the core-libs-dev