--- old/make/Coverage.gmk 2018-12-20 07:58:09.711694200 -0800 +++ new/make/Coverage.gmk 2018-12-20 07:58:09.495694201 -0800 @@ -54,3 +54,34 @@ $(RMDIR) $(JCOV_TEMP) jcov-image: $(JCOV_IMAGE_DIR)/release + +JCOV_OUTPUT_DIR := $(OUTPUTDIR)/jcov-coverage +JCOV_GRABBER_LOG := $(JCOV_OUTPUT_DIR)/grabber.log +JCOV_RESULT_FILE := $(JCOV_OUTPUT_DIR)/result.xml +JCOV_REPORT := $(JCOV_OUTPUT_DIR)/report +JCOV_MEM_OPTIONS := -Xms64m -Xmx4g + +jcov-do-start-grabber: jcov-stop-grabber + $(MKDIR) -p $(JCOV_OUTPUT_DIR) ; \ + $(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar Grabber -v -t $(JCOV_IMAGE_DIR)/template.xml -o $(JCOV_RESULT_FILE) 1>$(JCOV_GRABBER_LOG) 2>&1 & + +jcov-start-grabber: jcov-do-start-grabber + $(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -t 600 -wait + +jcov-stop-grabber: + if $(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -status 1>/dev/null 2>&1 ; then \ + $(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -stop -stoptimeout 3600 ; \ + fi + +jcov-gen-report: + $(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar RepGen -sourcepath `echo $(TOPDIR)/src/*/share/classes/ | tr ' ' ':'` -fmt html -o $(JCOV_REPORT) $(JCOV_RESULT_FILE) + +jcov-run-test: + +($(CD) $(TOPDIR)/make && \ + $(MAKE) $(MAKE_ARGS) -f Coverage.gmk jcov-start-grabber && \ + JAVA_TOOL_OPTIONS="$(JCOV_MEM_OPTIONS)" _JAVA_OPTIONS="$(JCOV_MEM_OPTIONS)" \ + $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \ + run-test TEST="$(TEST)" JTREG_JOBS=1 JDK_IMAGE_DIR=$(JCOV_IMAGE_DIR) \ + JTREG_OPTIONS="-e:JAVA_TOOL_OPTIONS='$(JCOV_MEM_OPTIONS)' -e:_JAVA_OPTIONS='$(JCOV_MEM_OPTIONS)'" && \ + $(MAKE) $(MAKE_ARGS) -f Coverage.gmk jcov-stop-grabber && \ + $(MAKE) $(MAKE_ARGS) -f Coverage.gmk jcov-gen-report)