Skip to content

Commit

Permalink
Update jck material versions (#4601)
Browse files Browse the repository at this point in the history
Signed-off-by: Stewart X Addison <[email protected]>
  • Loading branch information
sxa authored Jun 14, 2023
1 parent 2ed1775 commit e1e2c75
Show file tree
Hide file tree
Showing 11 changed files with 1,010 additions and 17 deletions.
14 changes: 7 additions & 7 deletions jck/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,16 @@

* Prerequisites:
* OpenJDK Community TCK License Agreement (OCTLA)
* your own set of JCK test materials (JCK test source under OCTLA License): jck8c or jck9
* your own set of JCK test materials (JCK test source under OCTLA License): jck8d or jck9
* ant 1.10.1 or above with ant-contrib.jar

1. Create an empty folder where your JCK test materials will be stored. For example `makedir /jck`

2. Export `JCK_GIT_REPO=<test_material_repo | test_material_folder>` as an environment variable or pass it in when run as a make command.
* If your test material is stored in a git repository it will be cloned to the empty folder created in step 1. For example `export [email protected]:<org>/<repo>.git`
* Otherwise put your unarchived jck test materials into the empty folder created in step 1 and point `JCK_GIT_REPO` to this folder. For example `export JCK_GIT_REPO=/jck/jck8c`
* Otherwise put your unarchived jck test materials into the empty folder created in step 1 and point `JCK_GIT_REPO` to this folder. For example `export JCK_GIT_REPO=/jck/jck8d`

3. Export `JCK_ROOT=/jck/<test_material_folder>` as an environment variable or pass it in when run as a make command. For example `export JCK_ROOT=/jck/jck8c`
3. Export `JCK_ROOT=/jck/<test_material_folder>` as an environment variable or pass it in when run as a make command. For example `export JCK_ROOT=/jck/jck8d`
* Optional. The default value is `<openjdk-test>/../../../jck_root/JCK$(JDK_VERSION)-unzipped`

4. Export `TEST_JDK_HOME=<your_JDK_root>` as an environment variable
Expand Down Expand Up @@ -80,9 +80,9 @@ git clone https://github.com/adoptium/aqa-tests.git
// the JCK_ROOT structure should be like
//root:jck root$ tree -L 2 ./
//./
//├── jck11
//├── jck11a
//├── jck10
//├── jck8c
//├── jck8d
//└── jck9
cd aqa-tests/buildenv/docker
Expand All @@ -106,9 +106,9 @@ make _sanity.jck

We have three types of tck exclude lists:

1. Dev excludes: This exclude file, ending with `-dev` (e.g. jck8c-dev.jtx), contains vendor specific excludes. All excludes related to automation run by a specific vendor would go into the `*dev.jtx` files in tck repositories maintained by that vendor for use during development not certification.
1. Dev excludes: This exclude file, ending with `-dev` (e.g. jck8d-dev.jtx), contains vendor specific excludes. All excludes related to automation run by a specific vendor would go into the `*dev.jtx` files in tck repositories maintained by that vendor for use during development not certification.

2. Test-flag specific excludes: These exclude files support development work by allowing developers to add feature specific temporary excludes. For example, the FIPS specific exclude file (e.g., jck8c-fips.jtx) contains list of excludes specific to FIPS that will only be in effect if `TEST_FLAG` is set to `fips`. These files are used for development, not for certification.
2. Test-flag specific excludes: These exclude files support development work by allowing developers to add feature specific temporary excludes. For example, the FIPS specific exclude file (e.g., jck8d-fips.jtx) contains list of excludes specific to FIPS that will only be in effect if `TEST_FLAG` is set to `fips`. These files are used for development, not for certification.

3. Standard excludes: These are the 3 standard exclude files (jtx and kfl) that come with tck materials. These constitute known failures and are not updated by vendors.

Expand Down
12 changes: 10 additions & 2 deletions jck/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -302,10 +302,18 @@
<if>
<equals arg1="${JDK_VERSION}" arg2="8" />
<then>
<property name="JCK_VERSION_USED" value="jck8c" />
<property name="JCK_VERSION_USED" value="jck8d" />
</then>
<else>
<property name="JCK_VERSION_USED" value="jck${JDK_VERSION}" />
<if>
<equals arg1="${JDK_VERSION}" arg2="11" />
<then>
<property name="JCK_VERSION_USED" value="jck11a" />
</then>
<else>
<property name="JCK_VERSION_USED" value="jck${JDK_VERSION}" />
</else>
</if>
</else>
</if>
</else>
Expand Down
2 changes: 1 addition & 1 deletion jck/diff/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Given two JCK repos:

```
1. Git clone the two JCK given repositories (if they do not already exist in the local workspace location).
2. From the two JCK repos, compare the top level folders (e.g. for jck8c, top level folders would be the ones under <JCK8-REPO>/tree/master/JCK-runtime-8c/tests), as well as the tree inside each of the second level folders (e.g. a second level folder would be <JCK8-REPO>/tree/master/JCK-runtime-8c/tests/api).
2. From the two JCK repos, compare the top level folders (e.g. for jck8d, top level folders would be the ones under <JCK8-REPO>/tree/master/JCK-runtime-8c/tests), as well as the tree inside each of the second level folders (e.g. a second level folder would be <JCK8-REPO>/tree/master/JCK-runtime-8c/tests/api).
3. If the folders are identical, print output in console to indicate that.
4. If any mismatch is detected, generate logs to indicate the differences for users to check.
Expand Down
5 changes: 4 additions & 1 deletion jck/jck.mk
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,10 @@ endif

JCK_VERSION_NUMBER = $(JDK_VERSION)
ifeq (8, $(JDK_VERSION))
JCK_VERSION_NUMBER = 8c
JCK_VERSION_NUMBER = 8d
endif
ifeq (11, $(JDK_VERSION))
JCK_VERSION_NUMBER = 11a
endif

JCK_VERSION = jck$(JCK_VERSION_NUMBER)
Expand Down
9 changes: 3 additions & 6 deletions jck/jtrunner/JavatestUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -1053,7 +1053,7 @@ private static String getTestSpecificJvmOptions(String jckVersion, String tests)
testSpecificJvmOptions += " -Djava.security.properties=" + secPropsFile;
}

Matcher matcher = Pattern.compile("jck(\\d+)c?").matcher(jckVersion);
Matcher matcher = Pattern.compile("jck(\\d+)[a-f]?").matcher(jckVersion);
if (matcher.matches()) {
// first group is going to be 8, 9, 10, 11, etc.
int jckVerNum = Integer.parseInt(matcher.group(1));
Expand Down Expand Up @@ -1182,10 +1182,7 @@ private static boolean isIbmJvm() {
}

private static int getJckVersionInt(String version) {
if (version.equals("8c")) {
return 8;
} else {
return Integer.parseInt(version);
}
// Remove any letter suffix before returning e.g. 8d->8
return Integer.parseInt(version.replaceFirst("[a-z]$", ""));
}
}
95 changes: 95 additions & 0 deletions jck/jtrunner/config/jck11a/compiler.jti
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
#JavaTest Harness Configuration Interview
DESCRIPTION=JCK11 compiler template jti for STF automation
INTERVIEW=com.sun.jck.interview.JCKParameters
NAME=jck_compiler
# TESTSUITE example: /jck/jck11/JCK-compiler-10
TESTSUITE=will_be_set_by_test_automation_at_run_time
# WORKDIR example: /home/user/JCK-compiler-10
WORKDIR=will_be_set_by_test_automation_at_run_time
jck.concurrency.concurrency=1
jck.env.compiler.agent.networkClassLoading=No
jck.env.compiler.agent.passivePort=
jck.env.compiler.agent.resourcesRemoving=No
# jck.env.compiler.compRefExecute.cmdAsFile example: /home/user/jdk10/bin/java
jck.env.compiler.compRefExecute.cmdAsFile=will_be_set_by_test_automation_at_run_time
jck.env.compiler.compRefExecute.otherEnvVars=
jck.env.compiler.compRefExecute.otherOpts=
jck.env.compiler.rmi.tcpLower=
jck.env.compiler.rmi.tcpRange=No
jck.env.compiler.rmi.tcpUpper=
jck.env.compiler.rmic=Yes
jck.env.compiler.services.autostartServices=
jck.env.compiler.services.servicesOn=No
jck.env.compiler.testCompile.annoProc=-processor \#
jck.env.compiler.testCompile.annoProcOpt=-A\#key\=\#value
jck.env.compiler.testCompile.classpath=command line option
jck.env.compiler.testCompile.classpathOpt=-classpath \#
# jck.env.compiler.testCompile.cmdAsFile example: /home/user/jdk10/bin/javac
jck.env.compiler.testCompile.cmdAsFile=will_be_set_by_test_automation_at_run_time
jck.env.compiler.testCompile.cmdAsFile example: /home/user/jdk10/bin/javac
jck.env.compiler.testCompile.compilerType=Java compiler API (JSR 199)
jck.env.compiler.testCompile.defaultCompiler=Yes
jck.env.compiler.testCompile.moduleOptions=Yes
jck.env.compiler.testCompile.otherEnvVars=
jck.env.compiler.testCompile.otherOpts=
jck.env.compiler.testCompile.outDirOpt=-d \#
jck.env.compiler.testCompile.outSrcDirOpt=-s \#
jck.env.compiler.testCompile.testCompileAPImultiJVM.classpath=command line option
jck.env.compiler.testCompile.testCompileAPImultiJVM.classpathEnv=CLASSPATH
jck.env.compiler.testCompile.testCompileAPImultiJVM.classpathOpt=-classpath \#
# jck.env.compiler.testCompile.testCompileAPImultiJVM.cmdAsFile example: /home/user/jdk10/bin/java
jck.env.compiler.testCompile.testCompileAPImultiJVM.cmdAsFile=will_be_set_by_test_automation_at_run_time
jck.env.compiler.testCompile.testCompileAPImultiJVM.otherEnvVars=
jck.env.compiler.testCompile.testCompileAPImultiJVM.otherOpts=
jck.env.compiler.testRmic.classpath=command line option
jck.env.compiler.testRmic.classpathOpt=-classpath \#
# jck.env.compiler.testRmic.cmdAsFile example: /home/user/jdk10/bin/rmic
jck.env.compiler.testRmic.cmdAsFile=will_be_set_by_test_automation_at_run_time
jck.env.compiler.testRmic.iiopOption=-iiop
jck.env.compiler.testRmic.otherEnvVars=
jck.env.compiler.testRmic.otherOpts=
jck.env.compiler.testRmic.outDirOpt=-d \#
jck.env.compiler.testRmic.v11Option=-v1.1
jck.env.compiler.testRmic.v12Option=-v1.2
jck.env.description=JCK11 compiler template jti for STF automation
jck.env.envName=jck_compiler
jck.env.moduleSystem.compilerOptions=compilerAddModsOptionTemplate\=--add-modules \#[,\#]\ncompilerModulePathOptionTemplate\=--module-path \#\ncompilerModuleSourcePathOptionTemplate\=--module-source-path \#\n
jck.env.moduleSystem.vmOptions=vmModuleEntryOptionTemplate\=\nvmModulePathOptionTemplate\=\nvmAddModsOptionTemplate\=\n
jck.env.platform=jre
jck.env.platformModules=java.base java.compiler java.datatransfer java.desktop java.instrument java.logging java.management java.management.rmi java.naming java.prefs java.rmi java.scripting java.se java.security.jgss java.security.sasl java.sql java.sql.rowset java.xml java.xml.crypto java.transaction.xa java.net.http
jck.env.product=compiler
jck.env.simpleOrAdvanced=advanced
# jck.env.testPlatform.display example: :1 or xxxx.xxxx.xxxx.com\:0.0
jck.env.testPlatform.display=will_be_set_by_test_automation_at_run_time
jck.env.testPlatform.headless=No
jck.env.testPlatform.jvmti=Yes
jck.env.testPlatform.multiJVM=Yes
jck.env.testPlatform.nativeCode=Yes
jck.env.testPlatform.needProxy=No
jck.env.testPlatform.os=Current system
jck.env.testPlatform.processCreationSupport=Yes
jck.env.testPlatform.proxyPort=
jck.env.testPlatform.remoteNetworking=Remote network support
jck.env.testPlatform.systemRoot=C\:\\windows
jck.env.testPlatform.typecheckerSpecific=Yes
jck.env.testPlatform.useAgent=No
# jck.excludeList.customFiles example: /jck/jck11/excludes/jck11.jtx\n/jck/jck11/excludes/jck11.kfl
jck.excludeList.customFiles=will_be_set_by_test_automation_at_run_time
jck.excludeList.excludeListType=custom
jck.excludeList.latestAutoCheck=No
jck.excludeList.latestAutoCheckInterval=7
jck.excludeList.latestAutoCheckMode=everyXDays
jck.excludeList.needExcludeList=Yes
jck.keywords.keywords.mode=expr
jck.keywords.keywords.value=\!interactive
jck.keywords.keywords=\!interactive
jck.keywords.needKeywords=Yes
jck.knownFailuresList.needKfl=No
jck.priorStatus.needStatus=No
jck.priorStatus.status=
jck.tests.chooseTests=Yes
jck.tests.needTests=No
jck.tests.setOfModules=
jck.tests.tests=
jck.tests.treeOrFile=tree
jck.timeout.timeout=1
87 changes: 87 additions & 0 deletions jck/jtrunner/config/jck11a/devtools.jti
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
#JavaTest Harness Configuration Interview
DESCRIPTION=JCK11 devtools template jti for STF automation
INTERVIEW=com.sun.jck.interview.JCKParameters
LOCALE=en_US
NAME=jck_devtools
# TESTSUITE example: /jck/jck11/JCK-devtools-10
TESTSUITE=will_be_set_by_test_automation_at_run_time
# WORKDIR example: /home/user/JCK-devtools-10
WORKDIR=will_be_set_by_test_automation_at_run_time
jck.concurrency.concurrency=1
jck.env.description=devtools.jit for STF automation
jck.env.devtools.agent.networkClassLoading=No
jck.env.devtools.agent.passivePort=
jck.env.devtools.agent.resourcesRemoving=No
jck.env.devtools.jaxb.defaultOperationMode=Yes
jck.env.devtools.jaxb.java2schema=Yes
# jck.env.devtools.jaxb.jxcCmd example: /jck/jck11/JCK-devtools-10/linux/bin/schemagen
jck.env.devtools.jaxb.jxcCmd=will_be_set_by_test_automation_at_run_time
jck.env.devtools.jaxb.needJaxbClasses=No
jck.env.devtools.jaxb.skipJ2XOptional=Yes
# jck.env.devtools.jaxb.xjcCmd=/jck/jck11/JCK-devtools-10/linux/bin/xjc
jck.env.devtools.jaxb.xjcCmd=will_be_set_by_test_automation_at_run_time
jck.env.devtools.jaxb.xml_schema=Yes
jck.env.devtools.jaxb=Yes
# jck.env.devtools.jaxws.cmdJavac=/home/user/jdk/jdk10/bin/javac
jck.env.devtools.jaxws.cmdJavac=will_be_set_by_test_automation_at_run_time
# jck.env.devtools.jaxws.genCmd=/jck/jck11/JCK-devtools-10/linux/bin/wsgen
jck.env.devtools.jaxws.genCmd=will_be_set_by_test_automation_at_run_time
# jck.env.devtools.jaxws.impCmd=/jck/jck11/JCK-devtools-10/linux/bin/wsimport
jck.env.devtools.jaxws.impCmd=will_be_set_by_test_automation_at_run_time
jck.env.devtools.jaxws=Yes
# jck.env.devtools.refExecute.cmdAsFile=/home/user/jdk/jdk10/bin/java
jck.env.devtools.refExecute.cmdAsFile=will_be_set_by_test_automation_at_run_time
jck.env.devtools.refExecute.otherEnvVars=
jck.env.devtools.refExecute.otherOpts=
jck.env.devtools.scriptEnvVars=
jck.env.devtools.services.autostartServices=
jck.env.devtools.services.servicesOn=No
jck.env.devtools.testExecute.additionalClasspath=
jck.env.devtools.testExecute.classpath=command line option
jck.env.devtools.testExecute.classpathEnv=CLASSPATH
jck.env.devtools.testExecute.classpathOpt=-classpath \#
# jck.env.devtools.testExecute.cmdAsFile=/home/user/jdk/jdk10/bin/java
jck.env.devtools.testExecute.cmdAsFile=will_be_set_by_test_automation_at_run_time
jck.env.devtools.testExecute.otherEnvVars=
jck.env.devtools.testExecute.otherOpts=
jck.env.envName=jck_devtools
jck.env.moduleSystem.compilerOptions=compilerAddModsOptionTemplate\=\ncompilerModulePathOptionTemplate\=\ncompilerModuleSourcePathOptionTemplate\=\n
jck.env.moduleSystem.vmOptions=vmModuleEntryOptionTemplate\=\nvmModulePathOptionTemplate\=\nvmAddModsOptionTemplate\=\n
jck.env.platform=jre
jck.env.platformModules=java.base java.compiler java.datatransfer java.desktop java.instrument java.logging java.management java.management.rmi java.naming java.prefs java.rmi java.scripting java.se java.security.jgss java.security.sasl java.sql java.sql.rowset java.xml java.xml.crypto java.transaction.xa java.net.http
jck.env.product=devtools
jck.env.simpleOrAdvanced=advanced
# jck.env.testPlatform.display example: ':1' or xxxx.xxxx.xxxx.com\:0.0
jck.env.testPlatform.display=will_be_set_by_test_automation_at_run_time
jck.env.testPlatform.headless=No
jck.env.testPlatform.jvmti=Yes
jck.env.testPlatform.multiJVM=Yes
jck.env.testPlatform.nativeCode=Yes
jck.env.testPlatform.needProxy=No
jck.env.testPlatform.os=Current system
jck.env.testPlatform.processCreationSupport=Yes
jck.env.testPlatform.proxyHost=
jck.env.testPlatform.proxyPort=
jck.env.testPlatform.remoteNetworking=Remote network support
jck.env.testPlatform.typecheckerSpecific=Yes
jck.env.testPlatform.useAgent=No
# jck.excludeList.customFiles example: /jck/jck11/excludes/jck11.jtx\n/jck/jck11/excludes/jck11.kfl
jck.excludeList.customFiles=will_be_set_by_test_automation_at_run_time
jck.excludeList.excludeListType=custom
jck.excludeList.latestAutoCheck=No
jck.excludeList.latestAutoCheckInterval=7
jck.excludeList.latestAutoCheckMode=everyXDays
jck.excludeList.needExcludeList=Yes
jck.keywords.keywords.mode=expr
jck.keywords.keywords.value=\!interactive
jck.keywords.keywords=\!interactive
jck.keywords.needKeywords=No
jck.knownFailuresList.needKfl=No
jck.priorStatus.needStatus=No
jck.priorStatus.status=
jck.tests.chooseTests=Yes
jck.tests.needTests=No
jck.tests.setOfModules=
jck.tests.tests=
jck.tests.treeOrFile=tree
jck.timeout.timeout=1
Loading

0 comments on commit e1e2c75

Please sign in to comment.