diff --git a/buildenv/jenkins/JenkinsfileBase b/buildenv/jenkins/JenkinsfileBase index 7a30fea89a..38f80c4aa5 100644 --- a/buildenv/jenkins/JenkinsfileBase +++ b/buildenv/jenkins/JenkinsfileBase @@ -550,7 +550,7 @@ def buildTest() { } } - if (params.UPSTREAM_TEST_JOB_NAME && params.UPSTREAM_TEST_JOB_NUMBER) { + if (params.UPSTREAM_TEST_JOB_NAME && params.UPSTREAM_TEST_JOB_NUMBER && params.SDK_RESOURCE == "upstream") { try { timeout(time: 1, unit: 'HOURS') { copyArtifacts fingerprintArtifacts: true, projectName: params.UPSTREAM_TEST_JOB_NAME, selector: specific(params.UPSTREAM_TEST_JOB_NUMBER), filter: "**/parallelList.mk", target: './aqa-tests/TKG/' @@ -564,6 +564,18 @@ def buildTest() { //get pre-staged jars from test.getDependency build before test compilation timeout(time: 2, unit: 'HOURS') { copyArtifacts fingerprintArtifacts: true, projectName: "test.getDependency", selector: lastSuccessful(), target: 'aqa-tests/TKG/lib' + } + // ajdk download dep from github always fail + def depsFromTKGLib = ["renaissance.jar"] + def targetPath = ["${env.WORKSPACE}/aqa-tests/perf/renaissance/"] + if (depsFromTKGLib.size() > 0) { + def endIdx = depsFromTKGLib.size() - 1 + for (idx in 0..endIdx) { + if (depsFromTKGLib[idx]) { + println "copy ./aqa-tests/TKG/lib/${depsFromTKGLib[idx]} to ${targetPath[idx]}" + sh "cp ./aqa-tests/TKG/lib/${depsFromTKGLib[idx]} ${targetPath[idx]}" + } + } } } catch (Exception e) { echo 'Cannot run copyArtifacts from test.getDependency. Skipping copyArtifacts...' @@ -582,7 +594,9 @@ def buildTest() { if (fileExists('openjdkbinary/openjdk-test-image')) { env.TESTIMAGE_PATH = "$WORKSPACE/openjdkbinary/openjdk-test-image" - } + } else if (fileExists('openjdkbinary/j2sdk-image')) { + env.TESTIMAGE_PATH = "$WORKSPACE/openjdkbinary/j2sdk-image" + } if (fileExists('openjdkbinary/openjdk-test-image/openj9')) { env.NATIVE_TEST_LIBS = "$WORKSPACE/openjdkbinary/openjdk-test-image/openj9" @@ -646,7 +660,7 @@ def runTest( ) { echo "env.DISPLAY is ${env.DISPLAY}" makeTest("${RUNTEST_CMD}") } - else if (env.SPEC.contains('linux') && !(LABEL.contains('ci.agent.dynamic') && CLOUD_PROVIDER == 'azure')) { + else if (env.SPEC.contains('linux') && !(LABEL.contains('ci.agent.dynamic') && CLOUD_PROVIDER == 'azure') ) { // Add an additional 10 second timeout due to issue: https://github.com/adoptium/temurin-build/issues/2368#issuecomment-756683888 wrap([$class: 'Xvfb', autoDisplayName: true, timeout:10]) { def DISPLAY = sh ( @@ -657,8 +671,7 @@ def runTest( ) { echo "env.DISPLAY is ${env.DISPLAY}" makeTest("${RUNTEST_CMD}") } - } - else { + } else { makeTest("${RUNTEST_CMD}") } } diff --git a/buildenv/jenkins/openjdk_tests b/buildenv/jenkins/openjdk_tests index 0891cbfd4c..093df3486f 100644 --- a/buildenv/jenkins/openjdk_tests +++ b/buildenv/jenkins/openjdk_tests @@ -41,6 +41,7 @@ def PLATFORM_MAP = [ 'riscv64_linux' : [ 'SPEC' : 'linux_riscv64', 'LABEL' : 'ci.role.test&&sw.os.linux&&hw.arch.riscv&&hw.bits.64', + 'DynamicAgents' : ['local'] ], 'riscv64_linux_xl' : [ 'SPEC' : 'linux_riscv64', @@ -159,6 +160,7 @@ if (JDK_VERSIONS.size() > 1 || JDK_IMPLS.size() > 1 || PLATFORMS.size() >1 || PL } else { if (PLATFORM_MAP.containsKey(params.PLATFORM)) { SPEC = PLATFORM_MAP[params.PLATFORM]["SPEC"] + ORIG_LABEL = params.LABEL ? params.LABEL : PLATFORM_MAP[params.PLATFORM]["LABEL"] if (params.LABEL) { LABEL = params.LABEL } else { @@ -202,7 +204,7 @@ if (JDK_VERSIONS.size() > 1 || JDK_IMPLS.size() > 1 || PLATFORMS.size() >1 || PL dynamicAgents = PLATFORM_MAP[params.PLATFORM]["DynamicAgents"] ? PLATFORM_MAP[params.PLATFORM]["DynamicAgents"] : [] println "dynamicAgents: ${dynamicAgents}" - if (params.CLOUD_PROVIDER != null && params.CLOUD_PROVIDER in dynamicAgents && LABEL == PLATFORM_MAP[params.PLATFORM]["LABEL"]) { + if (params.CLOUD_PROVIDER != null && params.CLOUD_PROVIDER in dynamicAgents && (LABEL == PLATFORM_MAP[params.PLATFORM]["LABEL"] || ORIG_LABEL == PLATFORM_MAP[params.PLATFORM]["LABEL"])) { boolean isNodeIdle = false node { String[] onlineNodes = nodesByLabel(LABEL) @@ -221,6 +223,9 @@ if (JDK_VERSIONS.size() > 1 || JDK_IMPLS.size() > 1 || PLATFORMS.size() >1 || PL println "Cannot find any idle nodes. Starting dynamic vm" LABEL = LABEL.minus("ci.role.test&&") LABEL += '&&ci.agent.dynamic' + if (LABEL.contains('hw.arch.riscv') && params.CLOUD_PROVIDER == 'local') { + LABEL = LABEL.minus("hw.arch.riscv&&") + } } } } @@ -312,6 +317,16 @@ def runTest() { docker.image('adoptopenjdk/centos6_build_image').inside { jenkinsfile.testBuild() } + } else if ((LABEL.contains('hw.arch.riscv') && LABEL.contains('sw.tool.docker')) || (LABEL.contains('ci.agent.dynamic') && params.CLOUD_PROVIDER == 'local')) { + docker.image('multiarch/qemu-user-static').pull() + // Automatically registers foreign file formats with the kernel using binfmt_static to simplify execution of multi-architecture binaries and Docker containers + // In fact, this command only needs to be executed once + sh "docker run --rm --privileged multiarch/qemu-user-static --reset -p yes" + docker.image('alibabadragonwell/riscv-normal-qemu_6.0.0-rvv-1.0:latest').pull() + // The ${HOME} directory must be mounted, otherwise xvfb will fail to startup + docker.image('alibabadragonwell/riscv-normal-qemu_6.0.0-rvv-1.0:latest').inside("-v ${env.HOME}:${env.HOME}") { + jenkinsfile.testBuild() + } } else { jenkinsfile.testBuild() } diff --git a/buildenv/jenkins/testJobTemplate b/buildenv/jenkins/testJobTemplate index f07146a48e..b132e8afbb 100644 --- a/buildenv/jenkins/testJobTemplate +++ b/buildenv/jenkins/testJobTemplate @@ -361,7 +361,7 @@ ARCH_OS_LIST.each { ARCH_OS -> sectionHeader('Additional test parameters if you want to append or replace options, or repeat the test for more than 1 iteration.') sectionHeaderStyle(sectionHeaderHelpTextStyleCss) } - choiceParam('TEST_FLAG', ['', 'JITAAS', 'AOT', 'FIPS'], "Optional. Only set for feature testing. (i.e., JITAAS, AOT, FIPS, etc)") + choiceParam('TEST_FLAG', ['', 'JITAAS', 'AOT', 'FIPS', 'Dragonwell_Standard'], "Optional. Only set for feature testing. (i.e., JITAAS, AOT, FIPS, Dragonwell_Standard, etc)") stringParam('EXTRA_OPTIONS', "", "Use this to append options to the test command") stringParam('JVM_OPTIONS', "", "Use this to replace the test original command line options") stringParam('BUILD_IDENTIFIER', "", "build identifier") diff --git a/get.sh b/get.sh index 0c60ba4513..ed35d6d442 100755 --- a/get.sh +++ b/get.sh @@ -470,7 +470,7 @@ executeCmdWithRetry() while [ "$rt_code" != 0 ] && [ "$rt_code" != 127 ] && [ "$count" -le 5 ] do if [ "$count" -gt 0 ]; then - sleep_time=300 + sleep_time=30 echo "error code: $rt_code. Sleep $sleep_time secs, then retry $count..." sleep $sleep_time diff --git a/openjdk/build.xml b/openjdk/build.xml index 9100113c94..b8e54ad268 100755 --- a/openjdk/build.xml +++ b/openjdk/build.xml @@ -32,7 +32,15 @@ - + + + + + + + + + diff --git a/openjdk/excludes/ProblemList_openjdk11.txt b/openjdk/excludes/ProblemList_openjdk11.txt index 46049d6500..5a44936c76 100644 --- a/openjdk/excludes/ProblemList_openjdk11.txt +++ b/openjdk/excludes/ProblemList_openjdk11.txt @@ -33,6 +33,8 @@ java/beans/Beans/TypoInBeanDescription.java https://github.com/adoptium/aqa-test # jdk_compiler compiler/gcbarriers/UnsafeIntrinsicsTest.java#shenandoah https://github.com/adoptium/aqa-tests/issues/2640 linux-aarch64 +compiler/aot/fingerprint/SelfChangedCDS.java https://github.com/adoptium/aqa-tests/issues/2640 windows-x86 + compiler/aot/verification/vmflags/TrackedFlagTest.java 8215224 generic-all compiler/aot/verification/vmflags/NotTrackedFlagTest.java 8215224 generic-all ############################################################################ diff --git a/openjdk/excludes/ProblemList_openjdk8.txt b/openjdk/excludes/ProblemList_openjdk8.txt index aa1d24d33a..169da26e86 100644 --- a/openjdk/excludes/ProblemList_openjdk8.txt +++ b/openjdk/excludes/ProblemList_openjdk8.txt @@ -27,6 +27,8 @@ gc/g1/TestShrinkAuxiliaryData15.java https://github.com/adoptium/aqa-tests/issue gc/g1/TestShrinkAuxiliaryData20.java https://github.com/adoptium/aqa-tests/issues/110 generic-all runtime/os/AvailableProcessors.java https://github.com/adoptium/aqa-tests/issues/110 linux-all runtime/7110720/Test7110720.sh https://github.com/adoptium/adoptium/issues/58 aix-all +runtime/coroutine/jniMonitorExitTest.sh https://github.com/adoptium/aqa-tests/issues/2985 generic-all +runtime/coroutine/jniDetachThreadHoldingMonitorTest.sh https://github.com/adoptium/aqa-tests/issues/2985 generic-all compiler/5091921/Test7005594.java https://github.com/adoptium/aqa-tests/issues/116 generic-all compiler/c1/TestUnresolvedFieldMain.java https://github.com/adoptium/aqa-tests/issues/116 generic-all compiler/c1/Test8172751.java https://github.com/adoptium/aqa-tests/issues/116 generic-all @@ -229,6 +231,31 @@ java/math/BigInteger/LargeValueExceptions.java https://github.com/adoptium/aqa-t # jdk_net java/net/Inet4Address/PingThis.java https://github.com/adoptium/infrastructure/issues/1127 aix-all +jdk/net/rsocket/Exceptions.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketChannel/SocketOptionTests.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketChannel/SCConfigureBlocking.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketChannel/Stream.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketChannel/Connect.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketChannel/IOExchanges.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketChannel/CloseDuringWrite.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketChannel/FinishConnect.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketChannel/BasicSocketChannelTest.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/RsocketTest.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/NullBind.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/Selector/SelectorTest.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/Selector/Connect.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/Selector/BasicConnect.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/Selector/BasicAccept.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/ServerSocketChannel/SSCConfigureBlocking.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketOption/OptionsTest.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/Socket/GetLocalAddress.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/Socket/BasicSocketTest.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/Socket/BasicSocketTest.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/ServerSocketChannel/SocketOptionTests.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketOption/UnsupportedOptionsTest.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/SocketChannel/VectorIO.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/net/rsocket/ServerSocketChannel/Basic.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all + java/net/InetAddress/BadDottedIPAddress.java https://github.com/adoptium/aqa-tests/issues/827 linux-all java/net/Inet6Address/B6206527.java https://github.com/adoptium/infrastructure/issues/1085 macosx-all java/net/Inet6Address/B6558853.java https://github.com/adoptium/aqa-tests/issues/827 macosx-all @@ -491,6 +518,9 @@ javax/imageio/spi/AppletContextTest/BadPluginConfigurationTest.sh https://github # jdk_jfr jdk/jfr/event/sampling/TestNative.java https://github.com/adoptium/aqa-tests/issues/2754#issuecomment-882618581 generic-all +jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all +jdk/jfr/event/runtime/TestShutdownEvent.java https://github.com/adoptium/aqa-tests/issues/2985 linux-aarch64 +jdk/jfr/event/io/TestInstrumentation.java https://bugs.openjdk.java.net/browse/JDK-8202142 generic-all jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java https://github.com/adoptium/aqa-tests/issues/2766 generic-all #linux-arm https://github.com/adoptium/aqa-tests/issues/3301 jdk/jfr/event/runtime/TestShutdownEvent.java https://github.com/adoptium/aqa-tests/issues/2985 generic-all @@ -530,4 +560,3 @@ jdk/jfr/api/flightrecorder/TestGetEventTypes.java https://github.com/adoptium/aq jfr/api/consumer/TestRecordedFrame.java https://bugs.openjdk.org/browse/JDK-8247203 linux-aarch64,linux-ppc64le jdk/jfr/api/consumer/TestRecordedFrame.java https://bugs.openjdk.java.net/browse/JDK-8247203 linux-arm,linux-ppc64le jdk/jfr/event/compiler/TestCompilerInlining.java https://github.com/adoptium/aqa-tests/issues/3277 windows-all - diff --git a/openjdk/openjdk.mk b/openjdk/openjdk.mk index b13001c394..2d40672968 100644 --- a/openjdk/openjdk.mk +++ b/openjdk/openjdk.mk @@ -72,7 +72,7 @@ JTREG_BASIC_OPTIONS += -a JTREG_ASSERT_OPTION = -ea -esa JTREG_BASIC_OPTIONS += $(JTREG_ASSERT_OPTION) # Report details on all failed or error tests, times, and suppress output for tests that passed -JTREG_BASIC_OPTIONS += -v:fail,error,time,nopass +JTREG_BASIC_OPTIONS += -v:fail,error,time # Retain all files for failing tests JTREG_BASIC_OPTIONS += -retain:fail,error,*.dmp,javacore.*,heapdump.*,*.trc # Ignore tests are not run and completely silent about it @@ -109,6 +109,7 @@ endif JDK_CUSTOM_TARGET ?= java/math/BigInteger/BigIntegerTest.java HOTSPOT_CUSTOM_TARGET ?= gc/stress/gclocker/TestExcessGCLockerCollections.java +#HOTSPOT_CUSTOM_TARGET := :hotspot_all_no_apps LANGTOOLS_CUSTOM_TARGET ?= tools/javac/4241573/T4241573.java ifneq (,$(findstring $(JDK_VERSION),8-9)) JTREG_JDK_TEST_DIR := $(OPENJDK_DIR)$(D)jdk$(D)test @@ -183,4 +184,4 @@ endif ADD_MODULES= ifneq ($(filter 16 17 18, $(JDK_VERSION)),) ADD_MODULES=--add-modules jdk.incubator.foreign -endif \ No newline at end of file +endif diff --git a/openjdk/playlist.xml b/openjdk/playlist.xml index 749b60dbc7..1522b83513 100644 --- a/openjdk/playlist.xml +++ b/openjdk/playlist.xml @@ -505,7 +505,7 @@ $(TEST_VARIATION_DUMP) $(TEST_VARIATION_JIT_PREVIEW) Mode1000 $(JAVA_COMMAND) -Xmx512m -jar $(Q)$(TEST_RESROOT)$(D)jtreg$(D)lib$(D)jtreg.jar$(Q) \ - $(JTREG_BASIC_OPTIONS) $(JDK_NATIVE_OPTIONS) -vmoptions:$(Q)-Xmx512m $(JVM_OPTIONS) $(VMOPTION_HEADLESS)$(Q) \ + $(JTREG_BASIC_OPTIONS) $(JDK_NATIVE_OPTIONS) -vmoptions:$(Q)-Xmx512m -Xmn128m $(JVM_OPTIONS) $(VMOPTION_HEADLESS)$(Q) \ $(TIMEOUT_HANDLER) \ -w $(Q)$(REPORTDIR)$(D)work$(Q) \ -r $(Q)$(REPORTDIR)$(D)report$(Q) \ @@ -645,7 +645,7 @@ $(TEST_VARIATION_JIT_AGGRESIVE) $(TEST_VARIATION_JIT_PREVIEW) Mode1000 $(JAVA_COMMAND) -Xmx512m -jar $(Q)$(TEST_RESROOT)$(D)jtreg$(D)lib$(D)jtreg.jar$(Q) \ - $(JTREG_BASIC_OPTIONS) $(JDK_NATIVE_OPTIONS) -vmoptions:$(Q)-Xmx512m $(JVM_OPTIONS) $(VMOPTION_HEADLESS)$(Q) \ + $(JTREG_BASIC_OPTIONS) $(JDK_NATIVE_OPTIONS) -vmoptions:$(Q)-Xmx512m -Xmn128m $(JVM_OPTIONS) $(VMOPTION_HEADLESS)$(Q) \ -w $(Q)$(REPORTDIR)$(D)work$(Q) \ -r $(Q)$(REPORTDIR)$(D)report$(Q) \ -jdk:$(Q)$(TEST_JDK_HOME)$(Q) \ @@ -1986,7 +1986,7 @@ dragonwell8_feature_jdk2 $(JAVA_COMMAND) -Xmx512m -jar $(Q)$(TEST_RESROOT)$(D)jtreg$(D)lib$(D)jtreg.jar$(Q) \ - -agentvm -a -ea -esa -v:fail,error,time,nopass -retain:fail,error,*.dmp,javacore.*,heapdump.*,*.trc \ + -agentvm -a -ea -esa -v:fail,error,time -retain:fail,error,*.dmp,javacore.*,heapdump.*,*.trc \ -ignore:quiet -timeoutFactor:1 -xml:verify -concurrency:1 -k:'!headful' -vmoptions:"-Xmx512m" \ -vmoptions:$(Q)-Xmx512m $(JVM_OPTIONS)$(Q) \ -w $(Q)$(REPORTDIR)$(D)work$(Q) \