RFR : 8006594/8006595 : Define jdk_core test set

Alan Bateman Alan.Bateman at oracle.com
Mon Feb 4 13:54:09 UTC 2013

On 02/02/2013 20:40, Mike Duigou wrote:
> I have updated both the jdk repo patch:
> 8006594: Add jdk_core target to jdk/test/Makefile
> http://cr.openjdk.java.net/~mduigou/JDK-8006594/1/webrev/
> and the root repo patch:
> 8006595: Use jdk/test/Makefile targets in preference to local definitions
> http://cr.openjdk.java.net/~mduigou/JDK-8006595/1/webrev/
> 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.
> Mike
If I understand correctly, then the default will now be jdk_core + 
langtools but no hotspot (just checking that this is what is intended). 
I agree that having JPRT config in the repo is confusing, especially 
with the *.test.targets properties that overlap/conflict with the make 

common/makefiles/Main.gmk - it looks like you've added 
CONCURRENCY=$(JOBS). Is $(JOBS) coming from the --num-cores specified to 
configure? If so then I think we have to careful because -concurrency 
means a lot of virtual memory and I'm not convinced that we limit it via 
-vmoption in jdk/test/Makefile. I could see us wanting to dial this down 
on 32-bit Windows for example.  Also I'm not 100% sure that 
jdk/test/TEST.ROOT is up to date for the client area -- that's the place 
where excludeAccess.dirs lists the directories with tests that cannot 
run concurrently.

The webrev has an updated to webrev.ksh, I assume we should ignore that.

In jdk/test/Makefile you have silenced the jtreg command but I think 
that is very useful to have in the log files.

Minor nit in jdk/test/Makefile but the jdk_core recipe could be split 
over multiple lines to avoid the very long line.

Otherwise I think this looks okay to me. As I mentioned in the original 
mail I do think we need to move to the point where the mappings is not 
in the make files and hopefully a future installation will get us moving 
in that direction.


More information about the core-libs-dev mailing list