From 3889c9e95532af534658eb7c1fa4ac7b8e9f1df3 Mon Sep 17 00:00:00 2001 From: ohair Date: Tue, 22 Mar 2011 11:08:09 -0700 Subject: [PATCH] 6737397: Should support running JCK test suite with test/Makefile and JPRT Reviewed-by: alanb --- make/jprt.properties | 26 +++++- test/Makefile | 207 +++++++++++++++---------------------------- test/ProblemList.txt | 3 + 3 files changed, 99 insertions(+), 137 deletions(-) diff --git a/make/jprt.properties b/make/jprt.properties index 7cb87c1e3..b479e22f0 100644 --- a/make/jprt.properties +++ b/make/jprt.properties @@ -52,8 +52,11 @@ jprt.build.targets= \ ${jprt.my.windows.i586}-{product|fastdebug}, \ windows_x64_5.2-{product|fastdebug} +# User can select the test set with jprt submit "-testset name" option +jprt.my.test.set=${jprt.test.set} + # Standard vm test target -jprt.test.targets= \ +jprt.vm.default.test.targets= \ solaris_sparc_5.10-product-c1-jvm98, \ solaris_sparcv9_5.10-product-c2-jvm98, \ solaris_i586_5.10-product-c1-jvm98, \ @@ -63,8 +66,10 @@ jprt.test.targets= \ ${jprt.my.windows.i586}-product-c1-jvm98, \ windows_x64_5.2-product-c2-jvm98 -# User can select the test set with jprt submit "-testset name" option -jprt.my.test.set=${jprt.test.set} +# Select vm testlist to use (allow for testset to be empty too) +jprt.vm.all.test.targets=${jprt.vm.default.test.targets} +jprt.vm..test.targets=${jprt.vm.default.test.targets} +jprt.test.targets=${jprt.vm.${jprt.my.test.set}.test.targets} # Default jdk test targets in test/Makefile (no fastdebug & limited c2) jprt.make.rule.default.test.targets= \ @@ -281,6 +286,21 @@ jprt.make.rule.all.test.targets= \ ${jprt.my.windows.i586}-product-c1-jdk_tools2, \ windows_x64_5.2-product-c2-jdk_tools2 +# JCK test targets in test/Makefile (no fastdebug & limited c2, windows broken) +jprt.my.jck.test.target.set= \ + solaris_sparc_5.10-product-c1-JCK7TESTRULE, \ + solaris_sparcv9_5.10-product-c2-JCK7TESTRULE, \ + solaris_i586_5.10-product-c1-JCK7TESTRULE, \ + solaris_x64_5.10-product-c2-JCK7TESTRULE, \ + linux_i586_2.6-product-c1-JCK7TESTRULE, \ + linux_x64_2.6-product-c2-JCK7TESTRULE + +# JCK testset targets (e.g. jprt submit -testset jck ... ) +jprt.make.rule.jck.test.targets= \ + ${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7devtools}, \ + ${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7runtime}, \ + ${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7compiler} + # Select list to use (allow for testset to be empty too) jprt.make.rule..test.targets=${jprt.make.rule.default.test.targets} jprt.make.rule.test.targets=${jprt.make.rule.${jprt.my.test.set}.test.targets} diff --git a/test/Makefile b/test/Makefile index d1171b960..0fe74310c 100644 --- a/test/Makefile +++ b/test/Makefile @@ -261,6 +261,7 @@ endif # Follow command with ";$(BUNDLE_UP_AND_EXIT)", so it always gets executed. ZIP_UP_RESULTS = ( $(MKDIR) -p `$(DIRNAME) $(ARCHIVE_BUNDLE)` \ && $(CD) $(ABS_TEST_OUTPUT_DIR) \ + && $(CHMOD) -R a+r . \ && $(ZIP) -q -r $(ARCHIVE_BUNDLE) . ) SUMMARY_TXT = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/JTreport/text/summary.txt STATS_TXT_NAME = Stats.txt @@ -312,7 +313,9 @@ BUNDLE_UP_AND_EXIT = \ else \ $(ECHO) "Missing file: $${_summary}" >> $(STATS_TXT); \ fi; \ - $(CAT) $(STATS_TXT); \ + if [ -f $(STATS_TXT) ] ; then \ + $(CAT) $(STATS_TXT); \ + fi; \ $(ZIP_UP_RESULTS) ; \ $(TESTEXIT) \ ) @@ -370,10 +373,10 @@ EXCLUDELIST=$(ABS_TEST_OUTPUT_DIR)/excludelist.txt # Create exclude list for this platform and arch ifdef NO_EXCLUDES -$(EXCLUDELIST): $(PROBLEM_LISTS) $(TESTDIRS) +$(EXCLUDELIST): $(PROBLEM_LISTS) $(TEST_DEPENDENCIES) @$(ECHO) "NOTHING_EXCLUDED" > $@ else -$(EXCLUDELIST): $(PROBLEM_LISTS) $(TESTDIRS) +$(EXCLUDELIST): $(PROBLEM_LISTS) $(TEST_DEPENDENCIES) @$(RM) $@ $@.temp1 $@.temp2 @(($(CAT) $(PROBLEM_LISTS) | $(EGREP) -- '$(OS_NAME)-all' ) ;\ ($(CAT) $(PROBLEM_LISTS) | $(EGREP) -- '$(PLATFORM_OS)' ) ;\ @@ -385,7 +388,7 @@ $(EXCLUDELIST): $(PROBLEM_LISTS) $(TESTDIRS) ($(ECHO) "#") ;\ ) | $(SED) -e 's@^[\ ]*@@' \ | $(EGREP) -v '^#' > $@.temp1 - @for tdir in $(TESTDIRS) ; do \ + for tdir in $(TESTDIRS) SOLARIS_10_SH_BUG_NO_EMPTY_FORS ; do \ ( ( $(CAT) $@.temp1 | $(EGREP) "^$${tdir}" ) ; $(ECHO) "#" ) >> $@.temp2 ; \ done @$(ECHO) "# at least one line" >> $@.temp2 @@ -400,11 +403,11 @@ endef # Running batches of tests with or without samevm define RunSamevmBatch $(ECHO) "Running tests in samevm mode: $?" -$(MAKE) TESTDIRS="$?" USE_JTREG_SAMEVM=true UNIQUE_DIR=$@ jtreg_tests +$(MAKE) TEST_DEPENDENCIES="$?" TESTDIRS="$?" USE_JTREG_SAMEVM=true UNIQUE_DIR=$@ jtreg_tests endef define RunOthervmBatch $(ECHO) "Running tests in othervm mode: $?" -$(MAKE) TESTDIRS="$?" USE_JTREG_SAMEVM=false UNIQUE_DIR=$@ jtreg_tests +$(MAKE) TEST_DEPENDENCIES="$?" TESTDIRS="$?" USE_JTREG_SAMEVM=false UNIQUE_DIR=$@ jtreg_tests endef define SummaryInfo $(ECHO) "########################################################" @@ -706,7 +709,7 @@ PHONY_LIST += perftest # vmsqe tests # Expect JPRT to set JPRT_VMSQE_HOME. -VMSQE_HOME = /java/sqe/comp/vm/testbase/sqe/vm/current/build/latest/vm +VMSQE_HOME = $(SLASH_JAVA)/sqe/comp/vm/testbase/sqe/vm/current/build/latest/vm ifdef JPRT_VMSQE_HOME VMSQE_HOME = $(JPRT_VMSQE_HOME) endif @@ -718,7 +721,7 @@ ifdef JPRT_RUNVMSQE_HOME endif # Expect JPRT to set JPRT_TONGA3_HOME. -TONGA3_HOME = /java/sqe//tools/gtee/harness/tonga +TONGA3_HOME = $(SLASH_JAVA)/sqe/tools/gtee/harness/tonga ifdef JPRT_TONGA3_HOME TONGA3_HOME = $(JPRT_TONGA3_HOME) endif @@ -771,148 +774,84 @@ PHONY_LIST += vmsqe_jdwp vmsqe_jdi vmsqe_jdb vmsqe_quick-jdi vmsqe_sajdi \ # jck tests -JCK_WORK_DIR = $(ABS_TEST_OUTPUT_DIR)/JCKwork -JCK_REPORT_DIR = $(ABS_TEST_OUTPUT_DIR)/JCKreport -JCK_PROPERTIES = $(ABS_TEST_OUTPUT_DIR)/jck.properties -JCK_CONFIG = $(ABS_TEST_OUTPUT_DIR)/jck.config - -JCK_JAVA_EXE = $(PRODUCT_HOME)/bin/java$(EXESUFFIX) - -JCK_JAVATEST_JAR = $(JCK_HOME)/lib/javatest.jar -JCK_JAVATEST = $(ALT_BOOTDIR)/bin/java -jar $(JCK_JAVATEST_JAR) - -$(JCK_CONFIG): $(TEST_ROOT)/JCK-$(JCK_BUNDLE_NAME)-$(JCK_RELEASE)-base.jti - $(RM) $@ - $(MKDIR) -p $(@D) - $(CP) $< $@ - -$(JCK_PROPERTIES): $(PRODUCT_HOME) $(JCK_JAVA_EXE) - $(RM) $@ - $(MKDIR) -p $(@D) - $(ECHO) "jck.env.compiler.compRefExecute.cmdAsFile=$(JCK_JAVA_EXE)" >> $@ - $(ECHO) "jck.env.compiler.compRefExecute.systemRoot=$(SYSTEMROOT)" >> $@ - $(ECHO) "jck.env.compiler.testCompile.testCompileAPImultiJVM.cmdAsFile=$(JCK_JAVA_EXE)" >> $@ - $(ECHO) "jck.tests.tests=$(JCK_BUNDLE_TESTDIRS)" >> $@ - -jck_tests: prep $(JCK_HOME) $(JCK_PROPERTIES) $(JCK_CONFIG) $(JCK_JAVATEST_JAR) - $(MKDIR) -p $(JCK_WORK_DIR) - ( $(JCK_JAVATEST) \ - -verbose:commands,non-pass \ - -testSuite $(JCK_HOME) \ - -workDir $(JCK_WORK_DIR) \ - -config $(JCK_CONFIG) \ - -set -file $(JCK_PROPERTIES) \ - -runtests \ - -writeReport $(JCK_REPORT_DIR) \ - ) ; $(BUNDLE_UP_AND_EXIT) - -PHONY_LIST += jck_tests - -################################################################ - -# jck6 tests - -JCK6_RELEASE = 6b -JCK6_DEFAULT_HOME = $(SLASH_JAVA)/re/jck/$(JCK6_RELEASE)/archive/fcs/binaries - -# Expect JPRT to set JPRT_JCK6COMPILER_HOME. -JCK6COMPILER_HOME = $(JCK6_DEFAULT_HOME)/JCK-compiler-$(JCK6_RELEASE) -ifdef JPRT_JCK6COMPILER_HOME - JCK6COMPILER_HOME = $(JPRT_JCK6COMPILER_HOME) -endif - -# Expect JPRT to set JPRT_JCK6RUNTIME_HOME. -JCK6RUNTIME_HOME = $(JCK6_DEFAULT_HOME)/JCK-runtime-$(JCK6_RELEASE) -ifdef JPRT_JCK6RUNTIME_HOME - JCK6RUNTIME_HOME = $(JPRT_JCK6RUNTIME_HOME) -endif - -# Expect JPRT to set JPRT_JCK6DEVTOOLS_HOME. -JCK6DEVTOOLS_HOME = $(JCK6_DEFAULT_HOME)/JCK-devtools-$(JCK6_RELEASE) -ifdef JPRT_JCK6DEVTOOLS_HOME - JCK6DEVTOOLS_HOME = $(JPRT_JCK6DEVTOOLS_HOME) -endif - -jck6_tests: JCK_HOME=$(JCK6_HOME) -jck6_tests: JCK_RELEASE=$(JCK6_RELEASE) -jck6_tests: jck_tests - -jck6compiler: JCK6_HOME=$(JCK6COMPILER_HOME) -jck6compiler: JCK_BUNDLE_NAME=compiler -jck6compiler: jck6_tests - -jck6compiler_lang: JCK_BUNDLE_TESTDIRS=lang -jck6compiler_lang: jck6compiler - -jck6runtime: JCK6_HOME=$(JCK6RUNTIME_HOME) -jck6runtime: JCK_BUNDLE_NAME=runtime -jck6runtime: jck6_tests - -jck6runtime_lang: JCK_BUNDLE_TESTDIRS=lang -jck6runtime_lang: jck6runtime - -jck6devtools: JCK6_HOME=$(JCK6DEVTOOLS_HOME) -jck6devtools: JCK_BUNDLE_NAME=devtools -jck6devtools: jck6_tests - -jck6devtools_lang: JCK_BUNDLE_TESTDIRS=lang -jck6devtools_lang: jck6devtools - -PHONY_LIST += jck6compiler jck6runtime jck6devtools jck6_tests \ - jck6compiler_lang jck6runtime_lang jck6devtools_lang - -################################################################ - -# jck7 tests - -JCK7_RELEASE = 7 -JCK7_DEFAULT_HOME = $(SLASH_JAVA)/re/jck/$(JCK7_RELEASE)/archive/fcs/binaries +# Default is to use jck 7 from /java/re +JCK7_DEFAULT_HOME = $(SLASH_JAVA)/re/jck/7/promoted/latest/binaries # Expect JPRT to set JPRT_JCK7COMPILER_HOME. -JCK7COMPILER_HOME = $(JCK7_DEFAULT_HOME)/JCK-compiler-$(JCK7_RELEASE) +JCK7COMPILER_HOME = $(JCK7_DEFAULT_HOME)/JCK-compiler-7 ifdef JPRT_JCK7COMPILER_HOME - JCK7COMPILER_HOME = $(JPRT_JCK7COMPILER_HOME) + JCK7COMPILER_HOME = $(JPRT_JCK7COMPILER_HOME)/JCK-compiler-7 endif # Expect JPRT to set JPRT_JCK7RUNTIME_HOME. -JCK7RUNTIME_HOME = $(JCK7_DEFAULT_HOME)/JCK-runtime-$(JCK7_RELEASE) +JCK7RUNTIME_HOME = $(JCK7_DEFAULT_HOME)/JCK-runtime-7 ifdef JPRT_JCK7RUNTIME_HOME - JCK7RUNTIME_HOME = $(JPRT_JCK7RUNTIME_HOME) + JCK7RUNTIME_HOME = $(JPRT_JCK7RUNTIME_HOME)/JCK-runtime-7 endif # Expect JPRT to set JPRT_JCK7DEVTOOLS_HOME. -JCK7DEVTOOLS_HOME = $(JCK7_DEFAULT_HOME)/JCK-devtools-$(JCK7_RELEASE) +JCK7DEVTOOLS_HOME = $(JCK7_DEFAULT_HOME)/JCK-devtools-7 ifdef JPRT_JCK7DEVTOOLS_HOME - JCK7DEVTOOLS_HOME = $(JPRT_JCK7DEVTOOLS_HOME) + JCK7DEVTOOLS_HOME = $(JPRT_JCK7DEVTOOLS_HOME)/JCK-devtools-7 endif -jck7_tests: JCK_HOME=$(JCK7_HOME) -jck7_tests: JCK_RELEASE=$(JCK7_RELEASE) -jck7_tests: jck_tests - -jck7compiler: JCK7_HOME=$(JCK7COMPILER_HOME) -jck7compiler: JCK_BUNDLE_NAME=compiler -jck7compiler: jck7_tests - -jck7compiler_lang: JCK_BUNDLE_TESTDIRS=lang -jck7compiler_lang: jck7compiler +# The jtjck.jar utility to use to run the tests +JTJCK_JAR = $(JCK_HOME)/lib/jtjck.jar +JTJCK_JAVA_ARGS = -XX:MaxPermSize=256m -Xmx512m +JTJCK_OPTIONS = -headless -v -jck7runtime: JCK7_HOME=$(JCK7RUNTIME_HOME) -jck7runtime: JCK_BUNDLE_NAME=runtime -jck7runtime: jck7_tests - -jck7runtime_lang: JCK_BUNDLE_TESTDIRS=lang -jck7runtime_lang: jck7runtime - -jck7devtools: JCK7_HOME=$(JCK7DEVTOOLS_HOME) -jck7devtools: JCK_BUNDLE_NAME=devtools -jck7devtools: jck7_tests +# Default tests to run +ifndef JCK_COMPILER_TESTS + JCK_COMPILER_TESTS = +endif +ifndef JCK_RUNTIME_TESTS + JCK_RUNTIME_TESTS = +endif +ifndef JCK_DEVTOOLS_TESTS + JCK_DEVTOOLS_TESTS = +endif -jck7devtools_lang: JCK_BUNDLE_TESTDIRS=lang -jck7devtools_lang: jck7devtools +# Generic rule used to run jck tests +_generic_jck_tests: prep $(PRODUCT_HOME) $(EXCLUDELIST) + @$(EXPAND) $(EXCLUDELIST) \ + | $(CUT) -d' ' -f1 \ + | $(SED) -e 's@^@Excluding: @' + ( $(CD) $(ABS_TEST_OUTPUT_DIR) && \ + $(PRODUCT_HOME)/bin/java $(JTJCK_JAVA_ARGS) \ + -jar "$(JTJCK_JAR)" \ + $(JTJCK_OPTIONS) \ + -r:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/JTreport \ + -w:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/JTwork \ + -jdk:$(shell $(GETMIXEDPATH) "$(PRODUCT_HOME)") \ + $(TESTDIRS) \ + ) ; $(BUNDLE_UP_AND_EXIT) -PHONY_LIST += jck7compiler jck7runtime jck7devtools jck7_tests \ - jck7compiler_lang jck7runtime_lang jck7devtools_lang +# JCK7 compiler tests +jck7compiler: + $(MAKE) UNIQUE_DIR=$@ \ + JCK_HOME=$(JCK7COMPILER_HOME) \ + TESTDIRS="$(JCK_COMPILER_TESTS)" \ + _generic_jck_tests + +# JCK7 runtime tests +jck7runtime: + $(MAKE) UNIQUE_DIR=$@ \ + JCK_HOME=$(JCK7RUNTIME_HOME) \ + TESTDIRS="$(JCK_RUNTIME_TESTS)" \ + _generic_jck_tests + +# JCK7 devtools tests +jck7devtools: + $(MAKE) UNIQUE_DIR=$@ \ + JCK_HOME=$(JCK7DEVTOOLS_HOME) \ + TESTDIRS="$(JCK_DEVTOOLS_TESTS)" \ + _generic_jck_tests + +# Run all 3 sets of JCK7 tests +jck_all: jck7runtime jck7devtools jck7compiler + +PHONY_LIST += jck_all _generic_jck_tests \ + jck7compiler jck7runtime jck7devtools ################################################################ diff --git a/test/ProblemList.txt b/test/ProblemList.txt index 27518785b..d0336f9b6 100644 --- a/test/ProblemList.txt +++ b/test/ProblemList.txt @@ -690,6 +690,9 @@ sun/tools/jconsole/ResourceCheckTest.sh generic-all # jdk_util +# Filed 7027061 +java/util/Locale/Bug6989440.java windows-all + # Filed 6933803 java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java generic-all -- GitLab