diff --git a/buildenv/jenkins/JenkinsfileBase b/buildenv/jenkins/JenkinsfileBase index 2414841bef..e71efb18af 100644 --- a/buildenv/jenkins/JenkinsfileBase +++ b/buildenv/jenkins/JenkinsfileBase @@ -1,5 +1,4 @@ #!groovy -/* template jenkinsfile for adoptopenjdk test builds*/ def getBuildList() { def TESTPROJECTS = [system:'systemtest', perf:'performance', jck:'jck', external:'thirdparty_containers', functional: 'functional', openjdk:'openjdk_regression', jdk:'openjdk_regression', runtest:'', sanity:'', extended:''] String fullTarget="${TARGET}" @@ -26,10 +25,15 @@ def stageTestBinaries() { } def setupEnv() { + // env.JAVA_VERSION = "${getJavaVersionFromJvmVersion()}" + env.JAVA_VERSION = "${JAVA_VERSION}" + /* Optional parameter JAVA_VERSION to use for Panama/Valhalla/Amber cases, otherwise its calculated from JVM_VERSION */ + if( params.JAVA_VERSION ) { + env.JAVA_VERSION = params.JAVA_VERSION + } env.JAVA_BIN = "$WORKSPACE/openjdkbinary/j2sdk-image/${(JAVA_VERSION == 'SE80') ? 'jre/' : ''}bin" env.JRE_IMAGE = "$WORKSPACE/openjdkbinary/j2jre-image" env.JAVA_HOME = "${JAVA_BIN}/.." - env.JAVA_VERSION = "${JAVA_VERSION}" env.JVM_VERSION = "${JVM_VERSION}" env.SPEC = "${SPEC}" @@ -284,6 +288,15 @@ def testBuild() { } } +def getJavaVersionFromJvmVersion() { + String regex = ${JVM_VERSION} + def m = regex =~ /^openjdk(\d+)(-openj9|-sap)?$/ + def match = m[0][1] + def java_version = "SE$match0" + echo "java_version=$java_version" + return java_version +} + def setLabelParam() { if( params.LABEL ) { LABEL = params.LABEL diff --git a/buildenv/jenkins/openjdk_aarch64_linux b/buildenv/jenkins/openjdk_aarch64_linux new file mode 100644 index 0000000000..2dc7a550c4 --- /dev/null +++ b/buildenv/jenkins/openjdk_aarch64_linux @@ -0,0 +1,18 @@ +#!groovy +LABEL='sw.os.linux&&hw.arch.aarch64' + +node ("master") { + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.setLabelParam() + cleanWs() +} + +node("$LABEL") { + PLATFORM = 'aarch64_linux' + SDK_RESOURCE = 'upstream' + SPEC='linux_arm' + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.testBuild() +} \ No newline at end of file diff --git a/buildenv/jenkins/openjdk_ppc64_aix b/buildenv/jenkins/openjdk_ppc64_aix new file mode 100644 index 0000000000..f449ce6e99 --- /dev/null +++ b/buildenv/jenkins/openjdk_ppc64_aix @@ -0,0 +1,18 @@ +#!groovy +LABEL='hw.arch.ppc&&sw.os.aix' + +node ("master") { + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.setLabelParam() + cleanWs() +} + +node("$LABEL") { + PLATFORM = 'ppc64_aix' + SDK_RESOURCE = 'upstream' + SPEC='aix_ppc-64_cmprssptrs' + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.testBuild() +} \ No newline at end of file diff --git a/buildenv/jenkins/openjdk_ppc64le_linux b/buildenv/jenkins/openjdk_ppc64le_linux new file mode 100644 index 0000000000..c9142a761f --- /dev/null +++ b/buildenv/jenkins/openjdk_ppc64le_linux @@ -0,0 +1,18 @@ +#!groovy +LABEL='sw.os.linux&&hw.arch.ppc64le' + +node ("master") { + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.setLabelParam() + cleanWs() +} + +node("$LABEL") { //ppc64le build use "fedora" too, for now leave as is + PLATFORM = 'ppc64le_linux' + SDK_RESOURCE = 'upstream' + SPEC='linux_ppc-64_cmprssptrs_le' + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.testBuild() +} diff --git a/buildenv/jenkins/openjdk_s390x_linux b/buildenv/jenkins/openjdk_s390x_linux new file mode 100644 index 0000000000..eb5f8fd502 --- /dev/null +++ b/buildenv/jenkins/openjdk_s390x_linux @@ -0,0 +1,18 @@ +#!groovy +LABEL='sw.os.linux&&hw.arch.s390x' + +node ("master") { + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.setLabelParam() + cleanWs() +} + +node("$LABEL") { + PLATFORM = 's390x_linux' + SDK_RESOURCE = 'upstream' + SPEC='linux_390-64_cmprssptrs' + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.testBuild() +} diff --git a/buildenv/jenkins/openjdk_x86-64_linux b/buildenv/jenkins/openjdk_x86-64_linux new file mode 100644 index 0000000000..95eecc3f41 --- /dev/null +++ b/buildenv/jenkins/openjdk_x86-64_linux @@ -0,0 +1,18 @@ +#!groovy +LABEL='sw.os.linux&&hw.arch.x86' + +node ("master") { + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.setLabelParam() + cleanWs() +} + +node("$LABEL") { + PLATFORM = 'x64_linux' + SDK_RESOURCE = 'upstream' + SPEC='linux_x86-64_cmprssptrs' + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.testBuild() +} diff --git a/buildenv/jenkins/openjdk_x86-64_linux_docker b/buildenv/jenkins/openjdk_x86-64_linux_docker new file mode 100644 index 0000000000..35dfdd98e5 --- /dev/null +++ b/buildenv/jenkins/openjdk_x86-64_linux_docker @@ -0,0 +1,9 @@ +#!groovy +node('linux&&x64&&test&&sw.tool.docker') { + PLATFORM = 'x64_linux' + SDK_RESOURCE = 'upstream' + SPEC='linux_x86-64_cmprssptrs' + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.testBuild() +} \ No newline at end of file diff --git a/buildenv/jenkins/openjdk_x86-64_macos b/buildenv/jenkins/openjdk_x86-64_macos new file mode 100644 index 0000000000..702f340d07 --- /dev/null +++ b/buildenv/jenkins/openjdk_x86-64_macos @@ -0,0 +1,18 @@ +#!groovy +LABEL='sw.os.osx&&hw.arch.x86' + +node ("master") { + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.setLabelParam() + cleanWs() +} + +node("$LABEL") { + PLATFORM = 'x64_mac' + SDK_RESOURCE = 'upstream' + SPEC='mac_x86-64' + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.testBuild() +} \ No newline at end of file diff --git a/buildenv/jenkins/openjdk_x86-64_windows b/buildenv/jenkins/openjdk_x86-64_windows new file mode 100644 index 0000000000..bedce41635 --- /dev/null +++ b/buildenv/jenkins/openjdk_x86-64_windows @@ -0,0 +1,18 @@ +#!groovy +LABEL='hw.arch.x86&&sw.os.windows' + +node ("master") { + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.setLabelParam() + cleanWs() +} + +node("$LABEL") { + PLATFORM = 'x64_win' + SDK_RESOURCE = 'upstream' + SPEC='win_x86-64_cmprssptrs' + checkout scm + def jenkinsfile = load "${WORKSPACE}/openjdk-tests/buildenv/jenkins/JenkinsfileBase" + jenkinsfile.testBuild() +} diff --git a/jck/build.xml b/jck/build.xml index 20270e0e6c..aa2ee89fdf 100644 --- a/jck/build.xml +++ b/jck/build.xml @@ -46,15 +46,27 @@ - + + + + + + + + + + + - + + + diff --git a/openjdk_regression/ProblemList_openjdk11-openj9.txt b/openjdk_regression/ProblemList_openjdk11-openj9.txt new file mode 100644 index 0000000000..4d6fd99a58 --- /dev/null +++ b/openjdk_regression/ProblemList_openjdk11-openj9.txt @@ -0,0 +1,103 @@ +############################################################################ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################ + +# jdk_awt + +############################################################################ + +# jdk_beans + +############################################################################ + +# jdk_lang + +############################################################################ + +# jdk_management + +############################################################################ + +# jdk_jmx + +############################################################################ + +# jdk_math + +java/math/BigInteger/PrimeTest.java 440 linux_arm + +############################################################################ + +# jdk_other + +############################################################################ + +# jdk_net + +############################################################################ + +# jdk_io + +############################################################################ + +# jdk_jdi + +############################################################################ + +# jdk_nio + +############################################################################ + +# jdk_rmi + +############################################################################ + +# jdk_security + +############################################################################ + +# jdk_sound + +############################################################################ + +# jdk_swing + +############################################################################ + +# jdk_text + +############################################################################ + +# jdk_time + +############################################################################ + +# jdk_tools + +############################################################################ + +# jdk_jdi + +############################################################################ + +# jdk_util + +############################################################################ + +# svc_tools + +############################################################################ + +# jdk_other + +############################################################################ diff --git a/openjdk_regression/build.xml b/openjdk_regression/build.xml index e63036d3bd..221ed8527d 100644 --- a/openjdk_regression/build.xml +++ b/openjdk_regression/build.xml @@ -32,6 +32,9 @@ + + + diff --git a/openjdk_regression/openjdk11-openj9/TEST.ROOT b/openjdk_regression/openjdk11-openj9/TEST.ROOT new file mode 100644 index 0000000000..fc6f017555 --- /dev/null +++ b/openjdk_regression/openjdk11-openj9/TEST.ROOT @@ -0,0 +1,59 @@ +# This file identifies the root of the test-suite hierarchy. +# It also contains test-suite configuration information. + +# The list of keywords supported in the entire test suite. The +# "intermittent" keyword marks tests known to fail intermittently. +# The "randomness" keyword marks tests using randomness with test +# cases differing from run to run. (A test using a fixed random seed +# would not count as "randomness" by this definition.) Extra care +# should be taken to handle test failures of intermittent or +# randomness tests. +# +# A "headful" test requires a graphical environment to meaningfully +# run. Tests that are not headful are "headless". +# A test flagged with key "printer" requires a printer to succeed, else +# throws a PrinterException or the like. + +keys=2d dnd headful i18n intermittent printer randomness jfr + +# Tests that must run in othervm mode +othervm.dirs=java/awt java/beans javax/accessibility javax/imageio javax/sound javax/swing javax/print \ +com/apple/laf com/sun/java/accessibility com/sun/java/swing sanity/client demo/jfc \ +javax/management com/sun/awt sun/awt sun/java2d javax/xml/jaxp/testng/validation java/lang/ProcessHandle + +# Tests that cannot run concurrently +exclusiveAccess.dirs=java/rmi/Naming java/util/prefs sun/management/jmxremote sun/tools/jstatd sun/security/mscapi java/util/stream java/util/Arrays/largeMemory java/util/BitSet/stream javax/rmi +# Group definitions +groups=TEST.groups + +# Allow querying of various System properties in @requires clauses +# +# Source files for classes that will be used at the beginning of each test suite run, +# to determine additional characteristics of the system for use with the @requires tag. +# Note: compiled bootlibs code will be located in the folder 'bootClasses' +# requires.extraPropDefns = ../../test/jtreg-ext/requires/VMProps.java [../../closed/test/jtreg-ext/requires/VMPropsExt.java] +# requires.extraPropDefns.bootlibs = ../../test/lib/sun ../../test/lib/jdk/test/lib/Platform.java +# requires.extraPropDefns.vmOpts = -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:bootClasses +#requires.properties= \ +# sun.arch.data.model \ +# java.runtime.name \ +# vm.gc.Z \ +# vm.graal.enabled \ +# vm.cds \ +# vm.hasSA \ +# vm.hasSAandCanAttach \ +# docker.support \ +# release.implementor + +# Minimum jtreg version +requiredVersion=4.2 b12 + +# Path to libraries in the topmost test directory. This is needed so @library +# does not need ../../ notation to reach them +external.lib.roots = ../../ + +# Use new module options +useNewOptions=true + +# Use --patch-module instead of -Xmodule: +useNewPatchModule=true diff --git a/openjdk_regression/playlist.xml b/openjdk_regression/playlist.xml index 09adc224ae..8a7fb0e811 100644 --- a/openjdk_regression/playlist.xml +++ b/openjdk_regression/playlist.xml @@ -142,6 +142,7 @@ SE80 SE90 SE100 + SE110 extended @@ -166,6 +167,7 @@ SE80 SE90 SE100 + SE110 extended @@ -189,6 +191,7 @@ SE80 SE90 SE100 + SE110 sanity @@ -212,6 +215,7 @@ SE80 SE90 SE100 + SE110 sanity @@ -235,6 +239,7 @@ SE80 SE90 SE100 + SE110 sanity @@ -283,6 +288,7 @@ SE80 SE90 SE100 + SE110 extended @@ -306,6 +312,7 @@ SE80 SE90 SE100 + SE110 sanity @@ -329,6 +336,7 @@ SE80 SE90 SE100 + SE110 sanity @@ -352,6 +360,7 @@ SE80 SE90 SE100 + SE110 extended @@ -375,6 +384,7 @@ SE80 SE90 SE100 + SE110 extended @@ -398,6 +408,7 @@ SE80 SE90 SE100 + SE110 extended @@ -421,6 +432,7 @@ SE80 SE90 SE100 + SE110 extended @@ -445,6 +457,7 @@ SE80 SE90 SE100 + SE110 extended @@ -469,6 +482,7 @@ SE80 SE90 SE100 + SE110 extended @@ -492,6 +506,7 @@ SE80 SE90 SE100 + SE110 sanity @@ -515,6 +530,7 @@ SE80 SE90 SE100 + SE110 extended @@ -538,6 +554,7 @@ SE80 SE90 SE100 + SE110 extended @@ -561,6 +578,7 @@ SE80 SE90 SE100 + SE110 extended @@ -584,6 +602,7 @@ SE80 SE90 SE100 + SE110 sanity @@ -607,6 +626,7 @@ SE80 SE90 SE100 + SE110 extended @@ -630,6 +650,7 @@ SE80 SE90 SE100 + SE110 extended @@ -653,6 +674,7 @@ SE80 SE90 SE100 + SE110 extended