Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update jck material versions #4601

Merged
merged 1 commit into from
Jun 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 JCK_GIT_REPO=git@github.com:<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