Skip to content

Commit

Permalink
Java11 updates (#483)
Browse files Browse the repository at this point in the history
* reset for JCK10, fetch/rebase otherwise
* Add support for Java11
* Add non-version specific files
* Add TEST.ROOT
* Support sap
* Update machine labels

Signed-off-by: smlambert <[email protected]>
  • Loading branch information
Shelley Lambert authored Jul 23, 2018
1 parent 5416139 commit 5151d48
Show file tree
Hide file tree
Showing 14 changed files with 351 additions and 4 deletions.
17 changes: 15 additions & 2 deletions buildenv/jenkins/JenkinsfileBase
Original file line number Diff line number Diff line change
@@ -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}"
Expand All @@ -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}"

Expand Down Expand Up @@ -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
Expand Down
18 changes: 18 additions & 0 deletions buildenv/jenkins/openjdk_aarch64_linux
Original file line number Diff line number Diff line change
@@ -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()
}
18 changes: 18 additions & 0 deletions buildenv/jenkins/openjdk_ppc64_aix
Original file line number Diff line number Diff line change
@@ -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()
}
18 changes: 18 additions & 0 deletions buildenv/jenkins/openjdk_ppc64le_linux
Original file line number Diff line number Diff line change
@@ -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()
}
18 changes: 18 additions & 0 deletions buildenv/jenkins/openjdk_s390x_linux
Original file line number Diff line number Diff line change
@@ -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()
}
18 changes: 18 additions & 0 deletions buildenv/jenkins/openjdk_x86-64_linux
Original file line number Diff line number Diff line change
@@ -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()
}
9 changes: 9 additions & 0 deletions buildenv/jenkins/openjdk_x86-64_linux_docker
Original file line number Diff line number Diff line change
@@ -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()
}
18 changes: 18 additions & 0 deletions buildenv/jenkins/openjdk_x86-64_macos
Original file line number Diff line number Diff line change
@@ -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()
}
18 changes: 18 additions & 0 deletions buildenv/jenkins/openjdk_x86-64_windows
Original file line number Diff line number Diff line change
@@ -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()
}
16 changes: 14 additions & 2 deletions jck/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,27 @@
<!-- jck materials exist, update jck materials if needed-->
<else>
<echo message="${env.JCK_ROOT}/${env.JCK_VERSION} exists, try to update jck materials" />
<echo message="git fetch ${env.JCK_GIT_REPO}" />
<if>
<equals arg1="jck10" arg2="${env.JCK_VERSION}" />
<then>
<exec executable="git" failonerror="true">
<arg value="reset" />
<arg value="--hard" />
<arg value="origin/master" />
</exec>
</then>
<else>

<exec executable="git" dir="${env.JCK_ROOT}/${env.JCK_VERSION}" failonerror="true">
<arg value="fetch" />
</exec>
<echo message="git rebase origin/master" />

<exec executable="git" dir="${env.JCK_ROOT}/${env.JCK_VERSION}" failonerror="true">
<arg value="rebase" />
<arg value="origin/master" />
</exec>
</else>
</if>
</else>
</if>
</target>
Expand Down
103 changes: 103 additions & 0 deletions openjdk_regression/ProblemList_openjdk11-openj9.txt
Original file line number Diff line number Diff line change
@@ -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

############################################################################
3 changes: 3 additions & 0 deletions openjdk_regression/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@
<condition property="openjdkGit" value="openjdk-jdk10u">
<equals arg1="${JAVA_VERSION}" arg2="SE100"/>
</condition>
<condition property="openjdkGit" value="openjdk-jdk11">
<equals arg1="${JAVA_VERSION}" arg2="SE110"/>
</condition>

<target name="getJtreg">
<mkdir dir="${DEST}"/>
Expand Down
59 changes: 59 additions & 0 deletions openjdk_regression/openjdk11-openj9/TEST.ROOT
Original file line number Diff line number Diff line change
@@ -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
Loading

0 comments on commit 5151d48

Please sign in to comment.