--- a/common/bin/hgforest.sh Sat Dec 13 00:10:55 2014 +0300
+++ b/common/bin/hgforest.sh Wed Dec 24 19:31:28 2014 +0300
@@ -106,12 +106,15 @@
echo "# Mercurial command: ${command}" > ${status_output}
fi
-
-# capture command options and arguments (if any)
-command_args="${@:-}"
+# At this point all command options and args are in "$@".
+# Always use "$@" (within double quotes) to avoid breaking
+# args with spaces into separate args.
if [ ${vflag} = "true" ] ; then
- echo "# Mercurial command arguments: ${command_args}" > ${status_output}
+ echo "# Mercurial command argument count: $#" > ${status_output}
+ for cmdarg in "$@" ; do
+ echo "# Mercurial command argument: ${cmdarg}" > ${status_output}
+ done
fi
# Clean out the temporary directory that stores the pid files.
@@ -205,13 +208,14 @@
pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'`
- if [ -n "${command_args}" ] ; then
+ if [ $# -gt 0 ] ; then
# if there is an "extra sources" path then reparent "extra" repos to that path
if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then
echo "ERROR: Need initial clone from non-local source" > ${status_output}
exit 1
fi
- pull_extra="${command_args}/${pull_default_tail}"
+ # assume that "extra sources" path is the first arg
+ pull_extra="${1}/${pull_default_tail}"
# determine which extra subrepos need to be cloned.
for i in ${subrepos_extra} ; do
@@ -356,8 +360,8 @@
(PYTHONUNBUFFERED=true hg${global_opts} clone ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
else
# run the command.
- echo "cd ${i} && hg${global_opts} ${command} ${command_args}" > ${status_output}
- cd ${i} && (PYTHONUNBUFFERED=true hg${global_opts} ${command} ${command_args}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
+ echo "cd ${i} && hg${global_opts} ${command} ${@}" > ${status_output}
+ cd ${i} && (PYTHONUNBUFFERED=true hg${global_opts} ${command} "${@}"; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
fi
echo $! > ${tmp}/${repopidfile}.pid
--- a/make/Javadoc.gmk Sat Dec 13 00:10:55 2014 +0300
+++ b/make/Javadoc.gmk Wed Dec 24 19:31:28 2014 +0300
@@ -53,8 +53,7 @@
JAVADOC_CMD = $(JAVA) \
-Djava.awt.headless=true \
- $(NEW_JAVADOC) \
- -bootclasspath $(JDK_OUTPUTDIR)/classes
+ $(NEW_JAVADOC)
# Copyright year for beginning of Java and some of the apis
# (Needed when creating the javadocs)
@@ -231,17 +230,17 @@
# Common echo of option
define OptionOnly # opt
- if [ "$1" != "" ] ; then \
- $(PRINTF) "%s\n" "$1"; \
+ if [ "$(strip $1)" != "" ] ; then \
+ $(PRINTF) "%s\n" "$(strip $1)"; \
fi
endef
define OptionPair # opt arg
- $(PRINTF) "%s '%s'\n" "$1" '$2'
+ $(PRINTF) "%s '%s'\n" "$(strip $1)" '$(strip $2)'
endef
define OptionTrip # opt arg arg
- $(PRINTF) "%s '%s' '%s'\n" "$1" '$2' '$3'
+ $(PRINTF) "%s '%s' '%s'\n" "$(strip $1)" '$(strip $2)' '$(strip $3)'
endef
# Core api bottom argument (with special sauce)
--- a/make/Main.gmk Sat Dec 13 00:10:55 2014 +0300
+++ b/make/Main.gmk Wed Dec 24 19:31:28 2014 +0300
@@ -257,7 +257,7 @@
test:
($(CD) $(SRC_ROOT)/test && $(MAKE) $(MAKE_ARGS) -j1 -k MAKEFLAGS= \
- JT_HOME=$(JT_HOME) PRODUCT_HOME=$(JDK_OUTPUTDIR) \
+ JT_HOME=$(JT_HOME) PRODUCT_HOME=$(JDK_IMAGE_DIR) \
ALT_OUTPUTDIR=$(OUTPUT_ROOT) CONCURRENCY=$(JOBS) $(TEST)) || true
test-make:
@@ -394,7 +394,7 @@
docs-jvmtidoc: hotspot
- test: exploded-image
+ test: jimages
verify-modules: exploded-image
--- a/make/jprt.properties Sat Dec 13 00:10:55 2014 +0300
+++ b/make/jprt.properties Wed Dec 24 19:31:28 2014 +0300
@@ -188,6 +188,13 @@
${my.test.target.set:TESTNAME=svc_tools}, \
${my.make.rule.test.targets.svc.extra}
+# JAXP vm test targets (testset=jaxp)
+my.test.targets.jaxp=
+
+# JAXP test targets (testset=jaxp)
+my.make.rule.test.targets.jaxp= \
+ ${my.test.target.set:TESTNAME=jaxp_all}
+
# All vm test targets (testset=all)
my.test.targets.all= \
${my.test.targets.default}, \
@@ -211,7 +218,8 @@
my.make.rule.test.targets.pit= \
${my.test.target.set:TESTNAME=langtools_jtreg}, \
${my.make.rule.test.targets.core}, \
- ${my.make.rule.test.targets.svc}
+ ${my.make.rule.test.targets.svc} \
+ ${my.make.rule.test.targets.jaxp}
# JCK test targets in test/Makefile (no windows)
my.test.target.set.jck= \
--- a/test/Makefile Sat Dec 13 00:10:55 2014 +0300
+++ b/test/Makefile Wed Dec 24 19:31:28 2014 +0300
@@ -33,6 +33,7 @@
# This makefile depends on the availability of sibling directories.
LANGTOOLS_DIR=$(TOPDIR)/langtools
JDK_DIR=$(TOPDIR)/jdk
+JAXP_DIR=$(TOPDIR)/jaxp
HOTSPOT_DIR=$(TOPDIR)/hotspot
# Macro to run a test target in a subdir
@@ -51,10 +52,10 @@
endef
# Default test target (core)
-default: jdk_core langtools_jtreg
+default: jdk_core langtools_jtreg jaxp_all
# All testing
-all: jdk_all langtools_all
+all: jdk_all langtools_all jaxp_all
# Test targets
langtools_% :
@@ -63,6 +64,9 @@
jdk_% core_%s svc_%:
@$(NO_STOPPING)$(call SUBDIR_TEST, $(JDK_DIR), TEST="$@" $@)
+jaxp_%:
+ @$(NO_STOPPING)$(call SUBDIR_TEST, $(JAXP_DIR), TEST="$@" $@)
+
hotspot_%:
@$(NO_STOPPING)$(call SUBDIR_TEST, $(HOTSPOT_DIR), TEST="$@" $@)
--- a/test/lib/sun/hotspot/WhiteBox.java Sat Dec 13 00:10:55 2014 +0300
+++ b/test/lib/sun/hotspot/WhiteBox.java Wed Dec 24 19:31:28 2014 +0300
@@ -249,4 +249,6 @@
return offset;
}
+ // Safepoint Checking
+ public native void assertMatchingSafepointCalls(boolean mutexSafepointValue, boolean attemptedNoSafepointValue);
}