From a7a0423e0634da4a7dfb1c6100d6f3e75371d97c Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 10:17:57 -0400 Subject: [PATCH 01/85] Prototype 1 Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/README.md | 2 + jck/interactives/arctic_tests/runTests.sh | 72 ++++++++++++++++++++ jck/interactives/linux/player.properties | 0 jck/interactives/linux/recorder.properties | 0 jck/interactives/macos/player.properties | 0 jck/interactives/macos/recorder.properties | 0 jck/interactives/playlist.xml | 62 +++++++++++++++++ jck/interactives/windows/player.properties | 0 jck/interactives/windows/recorder.properties | 0 9 files changed, 136 insertions(+) create mode 100644 jck/interactives/arctic_tests/README.md create mode 100644 jck/interactives/arctic_tests/runTests.sh create mode 100644 jck/interactives/linux/player.properties create mode 100644 jck/interactives/linux/recorder.properties create mode 100644 jck/interactives/macos/player.properties create mode 100644 jck/interactives/macos/recorder.properties create mode 100644 jck/interactives/playlist.xml create mode 100644 jck/interactives/windows/player.properties create mode 100644 jck/interactives/windows/recorder.properties diff --git a/jck/interactives/arctic_tests/README.md b/jck/interactives/arctic_tests/README.md new file mode 100644 index 0000000000..2992b703e4 --- /dev/null +++ b/jck/interactives/arctic_tests/README.md @@ -0,0 +1,2 @@ +### Test Setup +During the setup stage, the arctic recordings held in the temurin-compliance repo will be copied into the workspace into this folder in preparation for test execution. diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh new file mode 100644 index 0000000000..a940d51178 --- /dev/null +++ b/jck/interactives/arctic_tests/runTests.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash +# +# 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 +# +# https://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. + +echo "run arctic command for TARGET=$TESTTARGET" +# Run each testcase defined for a particular target +# and save the result in a multiple formats +# where testcases will be in jck_run/arctic/tests + +# java -jar Arctic.jar -c test run +# java -jar Arctic.jar test finish +# java -jar Arctic.jar save + +testgrpdir=$1 + +if [[ -n "$testgrpdir" ]]; then + echo "Running tests from $testgrpdir" +else + echo "Please provide a directory of tests to run" + echo "runTests ./testDir" +fi + +echo "Starting player in background with RMI..." +java -Darctic.logLevel=TRACE -jar build/jars/Arctic.jar -p & +rc=$? +if [[ $rc -ne 0 ]]; then + echo "Unable to start Arctic player, rc=$rc" + exit $rc +fi + +# Allow 3 seconds for RMI server to start... +sleep 3 + +testdir=$1 +testgroup="mytests" +testcase="test1" + +java -jar build/jars/Arctic.jar -c test start "${testgroup}" "${testcase}" +rc=$? +if [[ $rc -ne 0 ]]; then + echo "Unable to start playback for testcase ${testgroup}/${testcase}, rc=$rc" + exit $rc +fi + +sleep 3 +result=$(java -jar build/jars/Arctic.jar -c test list ${testgroup}/${testcase}) +rc=$? +status=$(echo $result | tr -s ' ' | cut -d' ' -f2) +echo "==>" $status +while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; +do + sleep 3 + result=$(java -jar build/jars/Arctic.jar -c test list ${testgroup}/${testcase}) + rc=$? + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "==>" $status +done + +echo "Terminating Arctic CLI..." +java -jar build/jars/Arctic.jar -c terminate + +echo "Completed playback of ${testgroup}/${testcase} status: ${status}" diff --git a/jck/interactives/linux/player.properties b/jck/interactives/linux/player.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/jck/interactives/linux/recorder.properties b/jck/interactives/linux/recorder.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/jck/interactives/macos/player.properties b/jck/interactives/macos/player.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/jck/interactives/macos/recorder.properties b/jck/interactives/macos/recorder.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml new file mode 100644 index 0000000000..30b765d1b4 --- /dev/null +++ b/jck/interactives/playlist.xml @@ -0,0 +1,62 @@ + + + + ../jck.mk + + jckinteractives_custom + + NoOptions + + echo "run arctic command with custom parameter" \ + $(TEST_STATUS); + + + dev + + + jck + + + + jckinteractives_java_awt + + NoOptions + + $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh -jck_java_awt\ + $(TEST_STATUS); + + + dev + + + jck + + + + jckinteractives_javax_swing + + NoOptions + + echo "run arctic command for running swing recordings, $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh -jck_javax_swing\ + $(TEST_STATUS); + + + dev + + + jck + + + \ No newline at end of file diff --git a/jck/interactives/windows/player.properties b/jck/interactives/windows/player.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/jck/interactives/windows/recorder.properties b/jck/interactives/windows/recorder.properties new file mode 100644 index 0000000000..e69de29bb2 From 3f59e4ad1ef63e603c5d165da3b61cb3967db40d Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 11:44:37 -0400 Subject: [PATCH 02/85] Remove problematic echo Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index a940d51178..0c396f3c4f 100644 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -echo "run arctic command for TARGET=$TESTTARGET" +# echo "run arctic command for TARGET=$TESTTARGET" # Run each testcase defined for a particular target # and save the result in a multiple formats # where testcases will be in jck_run/arctic/tests From d8c6063bc824aceaff6acc8ab53d0592eb02a912 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 11:52:30 -0400 Subject: [PATCH 03/85] Disable jckinteractives_custom Signed-off-by: Shelley Lambert --- jck/interactives/playlist.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 30b765d1b4..e0f7ed051f 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -19,9 +19,13 @@ NoOptions - echo "run arctic command with custom parameter" \ - $(TEST_STATUS); + echo "run arctic command with custom parameter" + + + This test target is not yet available + + dev @@ -34,7 +38,7 @@ NoOptions - $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh -jck_java_awt\ + $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh -jck_java_awt \ $(TEST_STATUS); @@ -49,7 +53,7 @@ NoOptions - echo "run arctic command for running swing recordings, $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh -jck_javax_swing\ + echo "run arctic command for running swing recordings, $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh -jck_javax_swing \ $(TEST_STATUS); From 10fbef403aca5f8b6feb7bd9a48e06b63db4875c Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 14:27:02 -0400 Subject: [PATCH 04/85] Fix brackets Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 0c396f3c4f..b49f980293 100644 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -23,7 +23,7 @@ testgrpdir=$1 -if [[ -n "$testgrpdir" ]]; then +if [ -n "$testgrpdir" ]; then echo "Running tests from $testgrpdir" else echo "Please provide a directory of tests to run" From 5cfd76307f57745c4803da35bf5d663a638d9651 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 19:37:31 -0400 Subject: [PATCH 05/85] Improvements Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 2 +- jck/interactives/playlist.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index b49f980293..43afff9306 100644 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -33,7 +33,7 @@ fi echo "Starting player in background with RMI..." java -Darctic.logLevel=TRACE -jar build/jars/Arctic.jar -p & rc=$? -if [[ $rc -ne 0 ]]; then +if [ $rc -ne 0 ]; then echo "Unable to start Arctic player, rc=$rc" exit $rc fi diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index e0f7ed051f..578295218f 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -38,7 +38,7 @@ NoOptions - $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh -jck_java_awt \ + $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ./test1 \ $(TEST_STATUS); @@ -53,7 +53,7 @@ NoOptions - echo "run arctic command for running swing recordings, $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh -jck_javax_swing \ + echo "run arctic command for running swing recordings, $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ./test2 \ $(TEST_STATUS); From 56f7cb445407083f64d48b4c7cf7d68f222bd4b4 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 21:55:48 -0400 Subject: [PATCH 06/85] Debug Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 43afff9306..c3f9b67f92 100644 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -17,21 +17,21 @@ # and save the result in a multiple formats # where testcases will be in jck_run/arctic/tests -# java -jar Arctic.jar -c test run -# java -jar Arctic.jar test finish -# java -jar Arctic.jar save testgrpdir=$1 - +echo "First if/then" if [ -n "$testgrpdir" ]; then - echo "Running tests from $testgrpdir" + echo "Running tests from $testgrpdir" else echo "Please provide a directory of tests to run" echo "runTests ./testDir" fi echo "Starting player in background with RMI..." -java -Darctic.logLevel=TRACE -jar build/jars/Arctic.jar -p & +echo "unpack Arctic.tar.gz" +tar -xvzf testDependency/lib/Arctic.tar.gz + +java -Darctic.logLevel=TRACE -jar testDependency/lib/Arctic.jar -p & rc=$? if [ $rc -ne 0 ]; then echo "Unable to start Arctic player, rc=$rc" From 715085ecb2cf155899d61a2521e4cb7bc1c4ec2c Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 22:06:04 -0400 Subject: [PATCH 07/85] Debug Signed-off-by: Shelley Lambert --- jck/interactives/playlist.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 578295218f..6aa7ff6b0c 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -38,7 +38,7 @@ NoOptions - $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ./test1 \ + $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ./test1; \ $(TEST_STATUS); @@ -53,7 +53,7 @@ NoOptions - echo "run arctic command for running swing recordings, $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ./test2 \ + $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ./test2; \ $(TEST_STATUS); From 7658d8209b0a59421623cbc3f361fed1cb69fa02 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 22:16:15 -0400 Subject: [PATCH 08/85] Whitespace Signed-off-by: Shelley Lambert --- jck/interactives/playlist.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 6aa7ff6b0c..587b887094 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -33,7 +33,7 @@ jck - + jckinteractives_java_awt NoOptions @@ -48,7 +48,7 @@ jck - + jckinteractives_javax_swing NoOptions From c5bc2e7e35bbcf8deb731cb1a43ed7b6e1b47a32 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 22:21:25 -0400 Subject: [PATCH 09/85] Remove extra semicolon Signed-off-by: Shelley Lambert --- jck/interactives/playlist.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 587b887094..a73490f244 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -39,7 +39,7 @@ NoOptions $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ./test1; \ - $(TEST_STATUS); + $(TEST_STATUS) dev @@ -54,7 +54,7 @@ NoOptions $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ./test2; \ - $(TEST_STATUS); + $(TEST_STATUS) dev From c71f786550fbab5612255e577a97642e561ead3e Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 22:27:33 -0400 Subject: [PATCH 10/85] permissions Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 jck/interactives/arctic_tests/runTests.sh diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh old mode 100644 new mode 100755 index c3f9b67f92..4476626c49 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -19,7 +19,7 @@ testgrpdir=$1 -echo "First if/then" + if [ -n "$testgrpdir" ]; then echo "Running tests from $testgrpdir" else From 7d0d62355567e2eabf77a2f03fbcbfb260c138d0 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 23:17:54 -0400 Subject: [PATCH 11/85] Update script Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 24 ++++++++++++++--------- jck/interactives/playlist.xml | 9 +++++++-- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 4476626c49..e88cce9568 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -22,16 +22,20 @@ testgrpdir=$1 if [ -n "$testgrpdir" ]; then echo "Running tests from $testgrpdir" + #cp $testgrpdir . else echo "Please provide a directory of tests to run" echo "runTests ./testDir" fi echo "Starting player in background with RMI..." -echo "unpack Arctic.tar.gz" -tar -xvzf testDependency/lib/Arctic.tar.gz -java -Darctic.logLevel=TRACE -jar testDependency/lib/Arctic.jar -p & +if [ ! -f ${LIB_DIR}/Arctic.jar ]; then + echo "unpack Arctic.tar.gz" + tar -xvzf "${LIB_DIR}/Arctic.tar.gz" +fi + +java -Darctic.logLevel=TRACE -jar ${LIB_DIR}/Arctic.jar -p & rc=$? if [ $rc -ne 0 ]; then echo "Unable to start Arctic player, rc=$rc" @@ -42,10 +46,12 @@ fi sleep 3 testdir=$1 -testgroup="mytests" -testcase="test1" +testgroup="java_awt" +testcase="ListTests" +#$testgrpdir ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/java_awt +# loop through all testcases in testgrpdir -java -jar build/jars/Arctic.jar -c test start "${testgroup}" "${testcase}" +java -jar ${LIB_DIR}/Arctic.jar -c test start "${testgroup}" "${testcase}" rc=$? if [[ $rc -ne 0 ]]; then echo "Unable to start playback for testcase ${testgroup}/${testcase}, rc=$rc" @@ -53,20 +59,20 @@ if [[ $rc -ne 0 ]]; then fi sleep 3 -result=$(java -jar build/jars/Arctic.jar -c test list ${testgroup}/${testcase}) +result=$(java -jar ${LIB_DIR}/Arctic.jar -c test list ${testgroup}/${testcase}) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep 3 - result=$(java -jar build/jars/Arctic.jar -c test list ${testgroup}/${testcase}) + result=$(java -jar ${LIB_DIR}/Arctic.jar -c test list ${testgroup}/${testcase}) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status done echo "Terminating Arctic CLI..." -java -jar build/jars/Arctic.jar -c terminate +java -jar ${LIB_DIR}/Arctic.jar -c terminate echo "Completed playback of ${testgroup}/${testcase} status: ${status}" diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index a73490f244..3bc7d2ad4c 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -38,7 +38,7 @@ NoOptions - $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ./test1; \ + $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/java_awt; \ $(TEST_STATUS) @@ -53,9 +53,14 @@ NoOptions - $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ./test2; \ + $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/javax_swing; \ $(TEST_STATUS) + + + This test target is not yet available + + dev From d070fba34ff446113e433d6a93ce0168f649ccf2 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 23:29:33 -0400 Subject: [PATCH 12/85] Debug Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index e88cce9568..9c586f4fce 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -22,7 +22,6 @@ testgrpdir=$1 if [ -n "$testgrpdir" ]; then echo "Running tests from $testgrpdir" - #cp $testgrpdir . else echo "Please provide a directory of tests to run" echo "runTests ./testDir" @@ -32,6 +31,7 @@ echo "Starting player in background with RMI..." if [ ! -f ${LIB_DIR}/Arctic.jar ]; then echo "unpack Arctic.tar.gz" + ls -al ${LIB_DIR} tar -xvzf "${LIB_DIR}/Arctic.tar.gz" fi From c94b76d656a72da3d8ea9a0d7ca6c3050e1b7680 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 31 Mar 2025 23:39:12 -0400 Subject: [PATCH 13/85] Remove tar cmd Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 9c586f4fce..c2259da322 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -12,12 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# echo "run arctic command for TARGET=$TESTTARGET" -# Run each testcase defined for a particular target -# and save the result in a multiple formats -# where testcases will be in jck_run/arctic/tests - - testgrpdir=$1 if [ -n "$testgrpdir" ]; then @@ -30,9 +24,8 @@ fi echo "Starting player in background with RMI..." if [ ! -f ${LIB_DIR}/Arctic.jar ]; then - echo "unpack Arctic.tar.gz" + echo "Arctic.jar not present" ls -al ${LIB_DIR} - tar -xvzf "${LIB_DIR}/Arctic.tar.gz" fi java -Darctic.logLevel=TRACE -jar ${LIB_DIR}/Arctic.jar -p & From 7de0328858c1e734ed7236085671b322ae7ded92 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Wed, 2 Apr 2025 20:08:05 -0400 Subject: [PATCH 14/85] Add player.properties Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 113 +++++--- jck/interactives/linux/player.properties | 307 ++++++++++++++++++++++ 2 files changed, 389 insertions(+), 31 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index c2259da322..04ebaa4ce5 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -12,14 +12,32 @@ # See the License for the specific language governing permissions and # limitations under the License. -testgrpdir=$1 +export LC_ALL=POSIX -if [ -n "$testgrpdir" ]; then - echo "Running tests from $testgrpdir" -else - echo "Please provide a directory of tests to run" - echo "runTests ./testDir" -fi +wget -q https://ci.adoptium.net/view/Test_grinder/job/Build_Arctic/lastSuccessfulBuild/artifact/upload/Arctic.jar +mv Arctic.jar ${LIB_DIR} + +wget -q https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz +tar -xf OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz + +export PATH=$PWD/jdk-17.0.9+9/bin:$PATH +export JAVA_HOME=$PWD/jdk-17.0.9+9 + +disp=":36" +Xvfb $disp -screen 0 1024x768x24 -nolisten tcp & +xvfb_pid=$! +echo "Started Xvfb process $xvfb_pid on DISPLAY $disp" +export DISPLAY=$disp + +cp /etc/X11/twm/system.twmrc $HOME/.twmrc +echo 'RightTitleButton "xlogo11" = f.delete' >> $HOME/.twmrc +echo 'Button3 = : root : f.menu "windowops"' >> $HOME/.twmrc +echo 'RandomPlacement' >> $HOME/.twmrc +# Ensure fonts match recording vs playback +sed -i 's/MenuFont.*$/MenuFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc +sed -i 's/TitleFont .*$/TitleFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc +sed -i 's/IconFont .*$/IconFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc +sed -i 's/ResizeFont .*$/ResizeFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc echo "Starting player in background with RMI..." @@ -39,33 +57,66 @@ fi sleep 3 testdir=$1 -testgroup="java_awt" -testcase="ListTests" -#$testgrpdir ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/java_awt -# loop through all testcases in testgrpdir +testgroup="java_awt" # eventually strip off name from testdir variable -java -jar ${LIB_DIR}/Arctic.jar -c test start "${testgroup}" "${testcase}" -rc=$? -if [[ $rc -ne 0 ]]; then - echo "Unable to start playback for testcase ${testgroup}/${testcase}, rc=$rc" - exit $rc +# Check if the target is not a directory +if [ ! -d "$testdir" ]; then + echo "$testdir is not a directory" + exit 1 fi -sleep 3 -result=$(java -jar ${LIB_DIR}/Arctic.jar -c test list ${testgroup}/${testcase}) -rc=$? -status=$(echo $result | tr -s ' ' | cut -d' ' -f2) -echo "==>" $status -while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; -do - sleep 3 - result=$(java -jar ${LIB_DIR}/Arctic.jar -c test list ${testgroup}/${testcase}) - rc=$? - status=$(echo $result | tr -s ' ' | cut -d' ' -f2) - echo "==>" $status +# Loop through files in the target directory +for testcase in "$testdir"/*; do + tcase="api/$testgroup/interactive/$testcase.html" + # Start testcase... + echo "Starting testcase... $tcase" + twm & + + # replace with variable representing JDK under test + /home/jenkins/jck_run/jdk21/jdk/jdk-21.0.7+5/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :/home/jenkins/jck_root/JCK21-unzipped/JCK-runtime-21/classes: -Djava.security.policy=/home/jenkins/jck_root/JCK21-unzipped/JCK-runtime-21/lib/jck.policy javasoft.sqe.tests.api.java.awt.interactive.ListTests -TestCaseID ALL & + echo "Testcase started" + + if [ -f "$testcase" ]; then + # Allow 3 seconds for RMI server to start... + sleep 3 + echo "Running testcase $testcase" + java -jar ${LIB_DIR}/Arctic.jar -c test start "${testgroup}" "${testcase}" + rc=$? + + if [[ $rc -ne 0 ]]; then + echo "Unable to start playback for testcase ${testgroup}/${testcase}, rc=$rc" + exit $rc + fi + + # Allow 3 seconds for RMI server to start... + sleep 3 + result=$(java -jar ${LIB_DIR}/Arctic.jar -c test list ${testgroup}/${testcase}) + rc=$? + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "==>" $status + while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; + do + sleep 3 + result=$(java -jar ${LIB_DIR}/Arctic.jar -c test list ${testgroup}/${testcase}) + rc=$? + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "==>" $status + done + + echo "Terminating Arctic CLI..." + java -jar ${LIB_DIR}/Arctic.jar -c terminate + echo "Completed playback of ${testgroup}/${testcase} status: ${status}" + fi done -echo "Terminating Arctic CLI..." -java -jar ${LIB_DIR}/Arctic.jar -c terminate +kill $xvfb_pid -echo "Completed playback of ${testgroup}/${testcase} status: ${status}" +echo "Finished running $testdir testcases!" + +if [[ $status != "UNCONFIRMED" ]]; then + echo "Arctic playback failed" + exit 1 +else + echo "Arctic playback successful" + exit 0 +fi \ No newline at end of file diff --git a/jck/interactives/linux/player.properties b/jck/interactives/linux/player.properties index e69de29bb2..b0586597d0 100644 --- a/jck/interactives/linux/player.properties +++ b/jck/interactives/linux/player.properties @@ -0,0 +1,307 @@ +# +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# 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. +# + +# Defines where the test suite we run is located +arctic.common.repository.json.path = ../arctic_tests + +# Name we used to save the test definition. +arctic.common.repository.json.file = Test.json + +# Defines the scope mode. Currently, there are four modes supported: +# single: Arctic will read tests only from the scope it is running +# default: Like single, but it will additionally fall back to load tests from the default scope +# incremental: Treat scopes as numbers (default being 0), and check the highest, limited by the current scope +# custom: Load scopes directly from a configuration key `arctic.common.repository.scope.custom.` +arctic.common.repository.scope.mode = default + +# Defines the default scope. This value should not be changed here, but override by the arctic.scope system property. +arctic.common.repository.scope = ${sys:arctic.scope:-default} + +# Store tests using double \\ instead of / in the json files +arctic.common.repository.windows.legacy.mode = false + +# Enable the Arctic command line interface +arctic.common.cmd.enabled = true + +# Allow arctic to receive commands directly via console +arctic.common.cmd.console.enabled = false + +# Disable all commands except for those specifically stated by the arctic.common.cmd.allowed list. +arctic.common.cmd.allowed.enabled = false + +# List of commands to allow +arctic.common.cmd.allowed = * + +# Disable all commands listed in the arctic.common.cmd.disallowed list. +arctic.common.cmd.disallowed.enabled = false + +# Disable specific commands from the arctic command line. Blocking a first level command will block all subsequent +# subcommands, blocking "test" will also block "test run" and "test reset". To block only a subset, use "_" as a +# separator. An example would be to block only "test_run" allowing "test reset". This can be used with the +# arctic.common.cmd.allowed to allow a first level command and then disallow one or more second level ones. +arctic.common.cmd.disallowed = + +# Apply a filter based on a regular expression +arctic.common.cmd.regex.enabled = false + +# A regular expression that will be applied to the commands to determine whether they are allowed or not, a way to +# further fine-tune the allowed list command. +arctic.common.cmd.regex = .* + +# Allow receiving commands via RMI. There are three valid values here: +# true: All RMI connections are allowed +# local_only: Bind the RMI server only to the loopback IP +# false: RMI connections are not allowed +arctic.common.cmd.rmi.enabled = local_only + +# Name for the RMI commands listener +arctic.common.cmd.rmi.name = ArcticCmd + +# Port for the RMI commands listener +arctic.common.cmd.rmi.port = 61099 + +# Name of the default session +arctic.common.session.default = arctic.session + +# A margin of how close to the edge of the screen we can get with the workbench. If the workbench has an x coordinate +# value lower than the margin, when taking the screenshot, the position is assumed to be 0. This is useful because it +# allows us to capture things like the menubar on mac that doesn't allow us to position windows behind +arctic.common.screen.capture.margin.x = 0 +arctic.common.screen.capture.margin.y = 0 + +# Confirmation mode means arctic will wait for the finishedTest signal before running that test post-processing pipeline +# instead of doing it after finished replaying events. In confirmation mode, non-confirmed tests are considered as not +# passed. +arctic.player.confirmation.mode = false + +# In playback mode, the backend will reproduce the full set of events, even if a failed check is found. +arctic.player.fast.mode = false + +# Defines which engines will process the events of the recording. Possible values are: +# awtMouse: Reproduce mouse movement/click using AWT Robot +# jnhMouse: Reproduce mouse movement/click using jNativeHook +# awtKeyboard: Reproduce key input using AWT Robot +# jnhKeyboard: Reproduce key input using jNativeHook +# jnhMouseWheel: Reproduce mouse wheel using jNativeHook +# sc: Reproduce image checks +arctic.player.backend.players = awtMouse, awtKeyboard, jnhMouseWheel, sc + +# Defines equivalences between jnh recordings and awt mouse masks. The value here represents how many bits need to +# be shifted +# See: java.awt.event.InputEvent +arctic.player.backend.awtMouse.button1 = 10 +arctic.player.backend.awtMouse.button2 = 11 +arctic.player.backend.awtMouse.button3 = 12 + +# A filter of events to reproduce on the awtMouse backend player. This can be used to get finer control of events that +# this player will reproduce if there is another mouse backend player +arctic.player.backend.awtMouse.events = 0x03600 + +# A filter of events to reproduce on the jnhMouse backend player. This can be used to get finer control of events that +# this player will reproduce if there is another mouse backend player +arctic.player.backend.jnhMouse.events = 0x03700 + +# Choose if the keymap translation for awtKeyboard should be read as a bundled resourced or an independent file on disk. +arctic.player.backend.awtKeyboard.keymap.bundled = true + +# Bundled resource name or path to the file with the keymap. +# These files can be generated running `java -jar Arctic.jar -d`. +arctic.player.backend.awtKeyboard.keymap = keymap_linux.txt + +# Define which image comparator to use when reproducing the tests +# Values can be: +# pixel: Perform a pixel by pixel comparison of the image +# hash: Compare the hash values of the images +arctic.player.backend.sc.comparator = pixel + +arctic.player.backend.sc.pixel.checks = hash, recorded, dimension, strict, confidence, fuzzy, cluster + +# For the pixel comparator, generate differences to disk +arctic.player.backend.sc.pixel.save = true + +# For the debug image comparator, specifies the output directory for the diff images +arctic.player.backend.sc.pixel.save.folder = failures + +# Arctic will delete all the failures from previous runs upon new startup +arctic.player.backend.sc.pixel.save.clear = false + +# Format to use to save the images. Values are those supported by ImageIO. +arctic.player.backend.sc.pixel.save.format = png + +# Extension to use when saving the images. +arctic.player.backend.sc.pixel.save.extension = .png + +# Calculate hints and masks using a fast (but less accurate) approach +arctic.player.backend.sc.pixel.hint.fast = false + +# Calculate masks in addition to hints +arctic.player.backend.sc.pixel.hint.mask = true + +# Minimum % of pixels that need to be a perfect match +arctic.player.backend.sc.pixel.confidence.min = 0.85 + +# Check pixels that are hidden by shades +arctic.player.backend.sc.pixel.checkShades = false + +# A margin around the shade that we will not check +arctic.player.backend.sc.pixel.shadeMargin = 3 + +# Defines the maximum deviation that can be detected in each of the RGB components of a pixel color +arctic.player.backend.sc.pixel.fuzzy.tolerance = 8 + +# Pass the test even if some pixels are not the same if no clusters are found. Cluster are defined as more failures than +# the limit in a 3x3 square or a 5x5 square centered on the failing pixel. A value of 1 in any of them guarantees any +# failure is considered a cluster. +arctic.player.backend.sc.pixel.cluster.9 = 2 +arctic.player.backend.sc.pixel.cluster.25 = 4 + +# For performance reasons, limit the number of pixels to draw when doing the cluster calculation +arctic.player.backend.sc.pixel.cluster.max.draw = 10000 + +# Use the fuzzy check as source for cluster (chaining) instead of the strict check +arctic.player.backend.sc.pixel.cluster.source.fuzzy = false + +# Which controller we want to use to regulate the timing. +# basic: A fairly simple controller that will try to match the speed at which the test was originally recorded. +# advanced: A more complex controller that supports minimal and maximum wait times to speed up reproduction. +arctic.player.time.controller = advanced + +# Selects which preprocessors to run before replaying events. Order is pre-determined based on priority. +# cleanUp: Cleans the information stored from previous runs for that specific test. +# firstTestDelay: Adds an extra delay when we start a new test group. +# overrides: Allows to override certain values defined in the test with new values set in the player. +# testDelay: An individual delay to be added to each test case. +# scValidator: Uses the initial ScreenCheck to ensure we can recognize the test in the screen. +# eventsLoader: Loads the events from the Events.json file. +# truncations: Manipulates the list of events, so we ignore a certain set of mouse and keyboard events from the beginning +# or end of the test. This is used to account for recording issues adding extra events. +# timeControl: Signals the timeController to start the clock for the replay. +arctic.player.pre.processors = cleanUp, firstTestDelay, overrides, testDelay, scValidator, eventsLoader, truncations, timeControl + +# The first test on a test group can take significantly more than other tests to run. We have an extra wait timer for +# that case. Whenever we get a signal that a test group has finished, we will consider the next test to require the +# extra wait time. +# Value in milliseconds +arctic.player.pre.firstTestDelay.wait = 500 + +# Whether to override the individual values for timings stored on each set. +# The override can be used to reduce the timings, but not to increase them beyond the test default value +arctic.player.pre.overrides.timings = false + +# How much time to wait before since we receive the notification that the test is on the screen until we start the +# reproduction. On slow systems, this gives them time to properly render the test. Low values can cause the test to +# be rendered after the attempt to give focus is done, effectively putting the workbench on top of the test. +# Value in milliseconds +# A negative number will cause this override not to be applied +arctic.player.pre.overrides.timings.start = -1 + +# How much time to wait before we capture the screen after positioning different windows. This is done to ensure there +# are no artifacts captured because the screen buffer is still rendering the image. +# Value in milliseconds +# A negative number will cause this override not to be applied +arctic.player.pre.overrides.timings.sc = -1 + +# This property sets the minimal amount of time to wait. A request to wait for less time will be ignored. This means +# there can be a small drift when reproducing events of up to this time. +# Value in nanoseconds +# A negative number will cause this override not to be applied +arctic.player.pre.overrides.timings.min = -1 + +# This property sets how much will the player wait at most before posting the next event. This is only applied if the +# arctic.player.time.wait.override property is set to true. A very low value will speed up the reproduction. +# Value in nanoseconds +# -2 -> Ignore this override +# -1 -> Wait as much time as needed +# 0 -> Don't wait +arctic.player.pre.overrides.timings.max = -2 + +# Unlock the option to override which events of the test will be sent to the backends. If set to false, the value +# of preferredPlayMode for each test is used. +arctic.player.pre.overrides.reproduction = false + +# Defines a mask with the events that will be processed. The values are defined in ArcticEvent interface +# The final reproduction mode will be the result of an AND operation of this value and the stored one +arctic.player.pre.overrides.reproduction.mode = 0x10e06 + +# Whether to override the truncate values. Truncation removes keyboard and mouse events from the tests. +arctic.player.pre.overrides.truncations = false + +# Remove this number of events from the beginning of the list of mouse events to reproduce. +arctic.player.pre.overrides.truncations.mouse.start = -1 + +# Remove this number of events from the end of the list of mouse events to reproduce. +arctic.player.pre.overrides.truncations.mouse.end = -1 + +# Remove this number of events from the beginning of the list of mouse events to reproduce. +arctic.player.pre.overrides.truncations.kb.start = -1 + +# Remove this number of events from the end of the list of keyboard events to reproduce. +arctic.player.pre.overrides.truncations.kb.end = -1 + +# Apply new offsets for the mouse +arctic.player.pre.overrides.mouse.offsets = false + +# Value for the new x and y offsets for the mouse. +arctic.player.pre.overrides.mouse.offsets.x = 0 +arctic.player.pre.overrides.mouse.offsets.y = 0 + +# There is a race condition between arctic pushing the workbench to the back and clicking on the test to gain focus. If +# not properly timed, the click will hit the workbench before the test +# Value in milliseconds +arctic.player.pre.scValidator.wait.focus = 500 + +# Bypass the scValidator check. That will allow the test to continue even if the initial check fails. This will not +# cause the test to be failed if every other check passes +arctic.player.pre.scValidator.bypass = false + +# Selects which preprocessors to run before after replaying events. Order is pre-determined based on priority. +# resultsUpdater: save the results of the tests +# autoUpdater: for confirmed tests, saves the overrides as the new default for the test +# migrator: to migrate tests to a new platform +arctic.player.post.processors = resultsUpdater, autoUpdater, migrator + +# In confirmation mode, automatically update the overrides as the new default +arctic.player.post.auto.updater.save = false + +# Migrate the test, which will replace all screenshots with the current one and clean +# all the alternatives. This can be done to migrate tests between different platforms +# if they are close enough +arctic.player.post.migrate = false + +# Define which image comparator to use to identify the test on screen +# Values can be: +# pixel: Perform a pixel by pixel comparison of the image +# hash: Compare the hash values of the images +# debug: Performs a hash comparison, in case of failure, a diff image is generated +arctic.player.matcher.sc = hash + +# When doing review, show first the alternative with fewer failures based on this pixel check comparator +arctic.player.gui.review.order = fuzzy + +# Which manager we use to give focus to the first test we run +# awt: Attempt to give focus using awt to click in the window +# dummy: do nothing +arctic.common.backend.focus.manager = awt + +arctic.common.gui.wb.default.title = "Workbench" +arctic.common.arctic.gui.wb.default.color = 0xE6F0FA +arctic.common.arctic.gui.wb.default.width = 800 +arctic.common.arctic.gui.wb.default.height = 600 + +arctic.common.gui.shade.default.title = "Shade" +arctic.common.gui.shade.default.color = 0xF2FFE6 +arctic.common.gui.shade.default.width = 250 +arctic.common.gui.shade.default.height = 50 \ No newline at end of file From b99e6521cbfdcfba27efdfe0d53bff3383f518ca Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Wed, 2 Apr 2025 21:44:15 -0400 Subject: [PATCH 15/85] new dir structure Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 6 +----- jck/interactives/playlist.xml | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 04ebaa4ce5..8dc7b2c149 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -59,11 +59,7 @@ sleep 3 testdir=$1 testgroup="java_awt" # eventually strip off name from testdir variable -# Check if the target is not a directory -if [ ! -d "$testdir" ]; then - echo "$testdir is not a directory" - exit 1 -fi +ls -al "$testdir" # Loop through files in the target directory for testcase in "$testdir"/*; do diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 3bc7d2ad4c..b68618a46e 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -38,7 +38,7 @@ NoOptions - $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/java_awt; \ + $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/java_awt/arctic_tests/default/java_awt/api/java_awt/interactive; \ $(TEST_STATUS) From 556151d39887f573b18f9be3fe5a78a76ca80ec6 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Fri, 4 Apr 2025 10:53:39 -0400 Subject: [PATCH 16/85] Updates to playlist and runTests Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 9 ++++++--- jck/interactives/playlist.xml | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 8dc7b2c149..4c6b2af917 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -57,15 +57,18 @@ fi sleep 3 testdir=$1 -testgroup="java_awt" # eventually strip off name from testdir variable +platform=$2 +testgroup="api" # eventually strip off name from testdir variable +echo "Running testcases in $testdir on $platform" +echo "Java under test: $(JAVA_TO_TEST)" ls -al "$testdir" # Loop through files in the target directory for testcase in "$testdir"/*; do - tcase="api/$testgroup/interactive/$testcase.html" + tcase="$testgroup/java_awt/interactive/$testcase.html" # Start testcase... - echo "Starting testcase... $tcase" + echo "Starting testcase... $testcase" twm & # replace with variable representing JDK under test diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index b68618a46e..4003f069a8 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -38,7 +38,7 @@ NoOptions - $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/java_awt/arctic_tests/default/java_awt/api/java_awt/interactive; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/default/api/java_awt $(PLATFORM); \ $(TEST_STATUS) @@ -53,7 +53,7 @@ NoOptions - $(TEST_ROOT)/jck/interactives/arctic_tests/runTests.sh ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/javax_swing; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/default/api/javax_swing $(PLATFORM); \ $(TEST_STATUS) From 41d11a9e7663420957c22bacea02764d6a4ed296 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Sun, 1 Jun 2025 22:19:26 -0400 Subject: [PATCH 17/85] Remove uneeded files Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/README.md | 2 - jck/interactives/arctic_tests/runTests.sh | 71 ++--- jck/interactives/linux/player.properties | 307 ------------------- jck/interactives/linux/recorder.properties | 0 jck/interactives/macos/player.properties | 0 jck/interactives/macos/recorder.properties | 0 jck/interactives/playlist.xml | 7 +- jck/interactives/windows/player.properties | 0 jck/interactives/windows/recorder.properties | 0 jck/jck.mk | 1 + 10 files changed, 37 insertions(+), 351 deletions(-) delete mode 100644 jck/interactives/arctic_tests/README.md delete mode 100644 jck/interactives/linux/player.properties delete mode 100644 jck/interactives/linux/recorder.properties delete mode 100644 jck/interactives/macos/player.properties delete mode 100644 jck/interactives/macos/recorder.properties delete mode 100644 jck/interactives/windows/player.properties delete mode 100644 jck/interactives/windows/recorder.properties diff --git a/jck/interactives/arctic_tests/README.md b/jck/interactives/arctic_tests/README.md deleted file mode 100644 index 2992b703e4..0000000000 --- a/jck/interactives/arctic_tests/README.md +++ /dev/null @@ -1,2 +0,0 @@ -### Test Setup -During the setup stage, the arctic recordings held in the temurin-compliance repo will be copied into the workspace into this folder in preparation for test execution. diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 4c6b2af917..2ab2e00c3e 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -12,16 +12,19 @@ # See the License for the specific language governing permissions and # limitations under the License. -export LC_ALL=POSIX - -wget -q https://ci.adoptium.net/view/Test_grinder/job/Build_Arctic/lastSuccessfulBuild/artifact/upload/Arctic.jar -mv Arctic.jar ${LIB_DIR} +# Fetch the prebuilt arctic jar (will be pulled from prereq build eventually) +wget -q https://ci.adoptium.net/job/Build_Arctic/5/artifact/upload/arctic-0.8.1.jar +mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar -wget -q https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -tar -xf OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz +# Test job run with SETUP_JCK_RUN=true copies jck_run dir to /jenkins/jck_run +# Verify that the contents are there, including player.properties & dir with recordings +TEST_GROUP=$1 +TEST_DIR="Users/jenkins/jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/$(TEST_GROUP)/interactive" +ls -al "$TEST_DIR" -export PATH=$PWD/jdk-17.0.9+9/bin:$PATH -export JAVA_HOME=$PWD/jdk-17.0.9+9 +# Set environment variables +export LC_ALL=POSIX +export ARCTIC_JDK=/usr/bin/java disp=":36" Xvfb $disp -screen 0 1024x768x24 -nolisten tcp & @@ -41,12 +44,12 @@ sed -i 's/ResizeFont .*$/ResizeFont "-misc-fixed-bold-r-normal--15-140-75-75-c-9 echo "Starting player in background with RMI..." -if [ ! -f ${LIB_DIR}/Arctic.jar ]; then - echo "Arctic.jar not present" +if [ ! -f ${LIB_DIR}/arctic.jar ]; then + echo "arctic.jar not present" ls -al ${LIB_DIR} fi -java -Darctic.logLevel=TRACE -jar ${LIB_DIR}/Arctic.jar -p & +java -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & rc=$? if [ $rc -ne 0 ]; then echo "Unable to start Arctic player, rc=$rc" @@ -56,55 +59,45 @@ fi # Allow 3 seconds for RMI server to start... sleep 3 -testdir=$1 -platform=$2 -testgroup="api" # eventually strip off name from testdir variable -echo "Running testcases in $testdir on $platform" -echo "Java under test: $(JAVA_TO_TEST)" - -ls -al "$testdir" - +echo "Running testcases in $(TEST_GROUP) on $(PLATFORM)" +echo "Java under test: $(TEST_JDK_HOME)" +twm & # Loop through files in the target directory -for testcase in "$testdir"/*; do - tcase="$testgroup/java_awt/interactive/$testcase.html" - # Start testcase... - echo "Starting testcase... $testcase" - twm & - - # replace with variable representing JDK under test - /home/jenkins/jck_run/jdk21/jdk/jdk-21.0.7+5/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :/home/jenkins/jck_root/JCK21-unzipped/JCK-runtime-21/classes: -Djava.security.policy=/home/jenkins/jck_root/JCK21-unzipped/JCK-runtime-21/lib/jck.policy javasoft.sqe.tests.api.java.awt.interactive.ListTests -TestCaseID ALL & - echo "Testcase started" - - if [ -f "$testcase" ]; then - # Allow 3 seconds for RMI server to start... - sleep 3 - echo "Running testcase $testcase" - java -jar ${LIB_DIR}/Arctic.jar -c test start "${testgroup}" "${testcase}" +for testcase in "$TEST_DIR"/*; do + if [ -f $testcase ]; then + echo "Starting testcase... $testcase" + tcase=${testcase%.html} + # replace with variable representing JDK under test + $(TEST_JDK_HOME)/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :/home/jenkins/jck_root/JCK$(VERSION)-unzipped/JCK-runtime-$(VERSION)/classes: -Djava.security.policy=/home/jenkins/jck_root/JCK$(VERSION)-unzipped/JCK-runtime-$(VERSION)/lib/jck.policy javasoft.sqe.tests.api.java.awt.interactive.$(tcase) -TestCaseID ALL & + # Allow 3 seconds for RMI server to start... + sleep 3 + echo "Running testcase $testcase" + java -jar ${LIB_DIR}/arctic.jar -c test start "${TEST_GROUP}" "${testcase}" rc=$? if [[ $rc -ne 0 ]]; then - echo "Unable to start playback for testcase ${testgroup}/${testcase}, rc=$rc" + echo "Unable to start playback for testcase ${TEST_GROUP}/${testcase}, rc=$rc" exit $rc fi # Allow 3 seconds for RMI server to start... sleep 3 - result=$(java -jar ${LIB_DIR}/Arctic.jar -c test list ${testgroup}/${testcase}) + result=$(java -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep 3 - result=$(java -jar ${LIB_DIR}/Arctic.jar -c test list ${testgroup}/${testcase}) + result=$(java -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status done echo "Terminating Arctic CLI..." - java -jar ${LIB_DIR}/Arctic.jar -c terminate - echo "Completed playback of ${testgroup}/${testcase} status: ${status}" + java -jar ${LIB_DIR}/arctic.jar -c terminate + echo "Completed playback of $(TEST_GROUP)/$(testcase) status: ${status}" fi done diff --git a/jck/interactives/linux/player.properties b/jck/interactives/linux/player.properties deleted file mode 100644 index b0586597d0..0000000000 --- a/jck/interactives/linux/player.properties +++ /dev/null @@ -1,307 +0,0 @@ -# -# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# 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. -# - -# Defines where the test suite we run is located -arctic.common.repository.json.path = ../arctic_tests - -# Name we used to save the test definition. -arctic.common.repository.json.file = Test.json - -# Defines the scope mode. Currently, there are four modes supported: -# single: Arctic will read tests only from the scope it is running -# default: Like single, but it will additionally fall back to load tests from the default scope -# incremental: Treat scopes as numbers (default being 0), and check the highest, limited by the current scope -# custom: Load scopes directly from a configuration key `arctic.common.repository.scope.custom.` -arctic.common.repository.scope.mode = default - -# Defines the default scope. This value should not be changed here, but override by the arctic.scope system property. -arctic.common.repository.scope = ${sys:arctic.scope:-default} - -# Store tests using double \\ instead of / in the json files -arctic.common.repository.windows.legacy.mode = false - -# Enable the Arctic command line interface -arctic.common.cmd.enabled = true - -# Allow arctic to receive commands directly via console -arctic.common.cmd.console.enabled = false - -# Disable all commands except for those specifically stated by the arctic.common.cmd.allowed list. -arctic.common.cmd.allowed.enabled = false - -# List of commands to allow -arctic.common.cmd.allowed = * - -# Disable all commands listed in the arctic.common.cmd.disallowed list. -arctic.common.cmd.disallowed.enabled = false - -# Disable specific commands from the arctic command line. Blocking a first level command will block all subsequent -# subcommands, blocking "test" will also block "test run" and "test reset". To block only a subset, use "_" as a -# separator. An example would be to block only "test_run" allowing "test reset". This can be used with the -# arctic.common.cmd.allowed to allow a first level command and then disallow one or more second level ones. -arctic.common.cmd.disallowed = - -# Apply a filter based on a regular expression -arctic.common.cmd.regex.enabled = false - -# A regular expression that will be applied to the commands to determine whether they are allowed or not, a way to -# further fine-tune the allowed list command. -arctic.common.cmd.regex = .* - -# Allow receiving commands via RMI. There are three valid values here: -# true: All RMI connections are allowed -# local_only: Bind the RMI server only to the loopback IP -# false: RMI connections are not allowed -arctic.common.cmd.rmi.enabled = local_only - -# Name for the RMI commands listener -arctic.common.cmd.rmi.name = ArcticCmd - -# Port for the RMI commands listener -arctic.common.cmd.rmi.port = 61099 - -# Name of the default session -arctic.common.session.default = arctic.session - -# A margin of how close to the edge of the screen we can get with the workbench. If the workbench has an x coordinate -# value lower than the margin, when taking the screenshot, the position is assumed to be 0. This is useful because it -# allows us to capture things like the menubar on mac that doesn't allow us to position windows behind -arctic.common.screen.capture.margin.x = 0 -arctic.common.screen.capture.margin.y = 0 - -# Confirmation mode means arctic will wait for the finishedTest signal before running that test post-processing pipeline -# instead of doing it after finished replaying events. In confirmation mode, non-confirmed tests are considered as not -# passed. -arctic.player.confirmation.mode = false - -# In playback mode, the backend will reproduce the full set of events, even if a failed check is found. -arctic.player.fast.mode = false - -# Defines which engines will process the events of the recording. Possible values are: -# awtMouse: Reproduce mouse movement/click using AWT Robot -# jnhMouse: Reproduce mouse movement/click using jNativeHook -# awtKeyboard: Reproduce key input using AWT Robot -# jnhKeyboard: Reproduce key input using jNativeHook -# jnhMouseWheel: Reproduce mouse wheel using jNativeHook -# sc: Reproduce image checks -arctic.player.backend.players = awtMouse, awtKeyboard, jnhMouseWheel, sc - -# Defines equivalences between jnh recordings and awt mouse masks. The value here represents how many bits need to -# be shifted -# See: java.awt.event.InputEvent -arctic.player.backend.awtMouse.button1 = 10 -arctic.player.backend.awtMouse.button2 = 11 -arctic.player.backend.awtMouse.button3 = 12 - -# A filter of events to reproduce on the awtMouse backend player. This can be used to get finer control of events that -# this player will reproduce if there is another mouse backend player -arctic.player.backend.awtMouse.events = 0x03600 - -# A filter of events to reproduce on the jnhMouse backend player. This can be used to get finer control of events that -# this player will reproduce if there is another mouse backend player -arctic.player.backend.jnhMouse.events = 0x03700 - -# Choose if the keymap translation for awtKeyboard should be read as a bundled resourced or an independent file on disk. -arctic.player.backend.awtKeyboard.keymap.bundled = true - -# Bundled resource name or path to the file with the keymap. -# These files can be generated running `java -jar Arctic.jar -d`. -arctic.player.backend.awtKeyboard.keymap = keymap_linux.txt - -# Define which image comparator to use when reproducing the tests -# Values can be: -# pixel: Perform a pixel by pixel comparison of the image -# hash: Compare the hash values of the images -arctic.player.backend.sc.comparator = pixel - -arctic.player.backend.sc.pixel.checks = hash, recorded, dimension, strict, confidence, fuzzy, cluster - -# For the pixel comparator, generate differences to disk -arctic.player.backend.sc.pixel.save = true - -# For the debug image comparator, specifies the output directory for the diff images -arctic.player.backend.sc.pixel.save.folder = failures - -# Arctic will delete all the failures from previous runs upon new startup -arctic.player.backend.sc.pixel.save.clear = false - -# Format to use to save the images. Values are those supported by ImageIO. -arctic.player.backend.sc.pixel.save.format = png - -# Extension to use when saving the images. -arctic.player.backend.sc.pixel.save.extension = .png - -# Calculate hints and masks using a fast (but less accurate) approach -arctic.player.backend.sc.pixel.hint.fast = false - -# Calculate masks in addition to hints -arctic.player.backend.sc.pixel.hint.mask = true - -# Minimum % of pixels that need to be a perfect match -arctic.player.backend.sc.pixel.confidence.min = 0.85 - -# Check pixels that are hidden by shades -arctic.player.backend.sc.pixel.checkShades = false - -# A margin around the shade that we will not check -arctic.player.backend.sc.pixel.shadeMargin = 3 - -# Defines the maximum deviation that can be detected in each of the RGB components of a pixel color -arctic.player.backend.sc.pixel.fuzzy.tolerance = 8 - -# Pass the test even if some pixels are not the same if no clusters are found. Cluster are defined as more failures than -# the limit in a 3x3 square or a 5x5 square centered on the failing pixel. A value of 1 in any of them guarantees any -# failure is considered a cluster. -arctic.player.backend.sc.pixel.cluster.9 = 2 -arctic.player.backend.sc.pixel.cluster.25 = 4 - -# For performance reasons, limit the number of pixels to draw when doing the cluster calculation -arctic.player.backend.sc.pixel.cluster.max.draw = 10000 - -# Use the fuzzy check as source for cluster (chaining) instead of the strict check -arctic.player.backend.sc.pixel.cluster.source.fuzzy = false - -# Which controller we want to use to regulate the timing. -# basic: A fairly simple controller that will try to match the speed at which the test was originally recorded. -# advanced: A more complex controller that supports minimal and maximum wait times to speed up reproduction. -arctic.player.time.controller = advanced - -# Selects which preprocessors to run before replaying events. Order is pre-determined based on priority. -# cleanUp: Cleans the information stored from previous runs for that specific test. -# firstTestDelay: Adds an extra delay when we start a new test group. -# overrides: Allows to override certain values defined in the test with new values set in the player. -# testDelay: An individual delay to be added to each test case. -# scValidator: Uses the initial ScreenCheck to ensure we can recognize the test in the screen. -# eventsLoader: Loads the events from the Events.json file. -# truncations: Manipulates the list of events, so we ignore a certain set of mouse and keyboard events from the beginning -# or end of the test. This is used to account for recording issues adding extra events. -# timeControl: Signals the timeController to start the clock for the replay. -arctic.player.pre.processors = cleanUp, firstTestDelay, overrides, testDelay, scValidator, eventsLoader, truncations, timeControl - -# The first test on a test group can take significantly more than other tests to run. We have an extra wait timer for -# that case. Whenever we get a signal that a test group has finished, we will consider the next test to require the -# extra wait time. -# Value in milliseconds -arctic.player.pre.firstTestDelay.wait = 500 - -# Whether to override the individual values for timings stored on each set. -# The override can be used to reduce the timings, but not to increase them beyond the test default value -arctic.player.pre.overrides.timings = false - -# How much time to wait before since we receive the notification that the test is on the screen until we start the -# reproduction. On slow systems, this gives them time to properly render the test. Low values can cause the test to -# be rendered after the attempt to give focus is done, effectively putting the workbench on top of the test. -# Value in milliseconds -# A negative number will cause this override not to be applied -arctic.player.pre.overrides.timings.start = -1 - -# How much time to wait before we capture the screen after positioning different windows. This is done to ensure there -# are no artifacts captured because the screen buffer is still rendering the image. -# Value in milliseconds -# A negative number will cause this override not to be applied -arctic.player.pre.overrides.timings.sc = -1 - -# This property sets the minimal amount of time to wait. A request to wait for less time will be ignored. This means -# there can be a small drift when reproducing events of up to this time. -# Value in nanoseconds -# A negative number will cause this override not to be applied -arctic.player.pre.overrides.timings.min = -1 - -# This property sets how much will the player wait at most before posting the next event. This is only applied if the -# arctic.player.time.wait.override property is set to true. A very low value will speed up the reproduction. -# Value in nanoseconds -# -2 -> Ignore this override -# -1 -> Wait as much time as needed -# 0 -> Don't wait -arctic.player.pre.overrides.timings.max = -2 - -# Unlock the option to override which events of the test will be sent to the backends. If set to false, the value -# of preferredPlayMode for each test is used. -arctic.player.pre.overrides.reproduction = false - -# Defines a mask with the events that will be processed. The values are defined in ArcticEvent interface -# The final reproduction mode will be the result of an AND operation of this value and the stored one -arctic.player.pre.overrides.reproduction.mode = 0x10e06 - -# Whether to override the truncate values. Truncation removes keyboard and mouse events from the tests. -arctic.player.pre.overrides.truncations = false - -# Remove this number of events from the beginning of the list of mouse events to reproduce. -arctic.player.pre.overrides.truncations.mouse.start = -1 - -# Remove this number of events from the end of the list of mouse events to reproduce. -arctic.player.pre.overrides.truncations.mouse.end = -1 - -# Remove this number of events from the beginning of the list of mouse events to reproduce. -arctic.player.pre.overrides.truncations.kb.start = -1 - -# Remove this number of events from the end of the list of keyboard events to reproduce. -arctic.player.pre.overrides.truncations.kb.end = -1 - -# Apply new offsets for the mouse -arctic.player.pre.overrides.mouse.offsets = false - -# Value for the new x and y offsets for the mouse. -arctic.player.pre.overrides.mouse.offsets.x = 0 -arctic.player.pre.overrides.mouse.offsets.y = 0 - -# There is a race condition between arctic pushing the workbench to the back and clicking on the test to gain focus. If -# not properly timed, the click will hit the workbench before the test -# Value in milliseconds -arctic.player.pre.scValidator.wait.focus = 500 - -# Bypass the scValidator check. That will allow the test to continue even if the initial check fails. This will not -# cause the test to be failed if every other check passes -arctic.player.pre.scValidator.bypass = false - -# Selects which preprocessors to run before after replaying events. Order is pre-determined based on priority. -# resultsUpdater: save the results of the tests -# autoUpdater: for confirmed tests, saves the overrides as the new default for the test -# migrator: to migrate tests to a new platform -arctic.player.post.processors = resultsUpdater, autoUpdater, migrator - -# In confirmation mode, automatically update the overrides as the new default -arctic.player.post.auto.updater.save = false - -# Migrate the test, which will replace all screenshots with the current one and clean -# all the alternatives. This can be done to migrate tests between different platforms -# if they are close enough -arctic.player.post.migrate = false - -# Define which image comparator to use to identify the test on screen -# Values can be: -# pixel: Perform a pixel by pixel comparison of the image -# hash: Compare the hash values of the images -# debug: Performs a hash comparison, in case of failure, a diff image is generated -arctic.player.matcher.sc = hash - -# When doing review, show first the alternative with fewer failures based on this pixel check comparator -arctic.player.gui.review.order = fuzzy - -# Which manager we use to give focus to the first test we run -# awt: Attempt to give focus using awt to click in the window -# dummy: do nothing -arctic.common.backend.focus.manager = awt - -arctic.common.gui.wb.default.title = "Workbench" -arctic.common.arctic.gui.wb.default.color = 0xE6F0FA -arctic.common.arctic.gui.wb.default.width = 800 -arctic.common.arctic.gui.wb.default.height = 600 - -arctic.common.gui.shade.default.title = "Shade" -arctic.common.gui.shade.default.color = 0xF2FFE6 -arctic.common.gui.shade.default.width = 250 -arctic.common.gui.shade.default.height = 50 \ No newline at end of file diff --git a/jck/interactives/linux/recorder.properties b/jck/interactives/linux/recorder.properties deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/jck/interactives/macos/player.properties b/jck/interactives/macos/player.properties deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/jck/interactives/macos/recorder.properties b/jck/interactives/macos/recorder.properties deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 4003f069a8..03145886fe 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -19,7 +19,8 @@ NoOptions - echo "run arctic command with custom parameter" + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/$(PLATFORM)/arctic_tests/default/$(JCKINTERACTIVES_CUSTOM_TARGET) ; \ + $(TEST_STATUS) @@ -38,7 +39,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/default/api/java_awt $(PLATFORM); \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/java_awt/interactive ; \ $(TEST_STATUS) @@ -53,7 +54,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/linux/arctic_tests/default/api/javax_swing $(PLATFORM); \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/javax_swing ; \ $(TEST_STATUS) diff --git a/jck/interactives/windows/player.properties b/jck/interactives/windows/player.properties deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/jck/interactives/windows/recorder.properties b/jck/interactives/windows/recorder.properties deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/jck/jck.mk b/jck/jck.mk index 3b538f5e3c..f8b7e1232f 100644 --- a/jck/jck.mk +++ b/jck/jck.mk @@ -14,6 +14,7 @@ JCKRUNTIME_CUSTOM_TARGET ?= api/java_math/BigInteger JCKCOMPILER_CUSTOM_TARGET ?= api/javax_lang/model/element/Element/index.html JCKDEVTOOLS_CUSTOM_TARGET ?= java2schema/CustomizedMapping/classes/XmlRootElement/name/Name001.html +JCKINTERACTIVES_CUSTOM_TARGET ?= api/java_awt/interactive/ButtonTests.html # Environment variable OSTYPE is set to cygwin if running under cygwin. # Set our own macro to indicate we're running under cygwin. From eb16def793b71fe8fe6f51c1c8cd5a62c506b5e3 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Sun, 1 Jun 2025 22:27:26 -0400 Subject: [PATCH 18/85] Remove xvfb calls Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 2ab2e00c3e..b60be1bb45 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -26,11 +26,11 @@ ls -al "$TEST_DIR" export LC_ALL=POSIX export ARCTIC_JDK=/usr/bin/java -disp=":36" -Xvfb $disp -screen 0 1024x768x24 -nolisten tcp & -xvfb_pid=$! -echo "Started Xvfb process $xvfb_pid on DISPLAY $disp" -export DISPLAY=$disp +#disp=":36" +#Xvfb $disp -screen 0 1024x768x24 -nolisten tcp & +#xvfb_pid=$! +#echo "Started Xvfb process $xvfb_pid on DISPLAY $disp" +#export DISPLAY=$disp cp /etc/X11/twm/system.twmrc $HOME/.twmrc echo 'RightTitleButton "xlogo11" = f.delete' >> $HOME/.twmrc @@ -101,7 +101,7 @@ for testcase in "$TEST_DIR"/*; do fi done -kill $xvfb_pid +#kill $xvfb_pid echo "Finished running $testdir testcases!" From b3274500b4a249c2e418765ca880b40ab58f4843 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Sun, 1 Jun 2025 22:41:27 -0400 Subject: [PATCH 19/85] Update target Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 31 +++++++++++------------ jck/interactives/playlist.xml | 2 +- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index b60be1bb45..008afa2119 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -18,20 +18,19 @@ mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar # Test job run with SETUP_JCK_RUN=true copies jck_run dir to /jenkins/jck_run # Verify that the contents are there, including player.properties & dir with recordings -TEST_GROUP=$1 -TEST_DIR="Users/jenkins/jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/$(TEST_GROUP)/interactive" + +TEST_DIR=$1 +TEST_GROUP=$2 +PLATFORM=$3 +VERSION=$4 +echo "TEST_DIR is $TEST_DIR" ls -al "$TEST_DIR" +echo "TEST_GROUP is $TEST_GROUP, PLATFORM is $PLATFORM, VERSION is $VERSION" # Set environment variables export LC_ALL=POSIX export ARCTIC_JDK=/usr/bin/java -#disp=":36" -#Xvfb $disp -screen 0 1024x768x24 -nolisten tcp & -#xvfb_pid=$! -#echo "Started Xvfb process $xvfb_pid on DISPLAY $disp" -#export DISPLAY=$disp - cp /etc/X11/twm/system.twmrc $HOME/.twmrc echo 'RightTitleButton "xlogo11" = f.delete' >> $HOME/.twmrc echo 'Button3 = : root : f.menu "windowops"' >> $HOME/.twmrc @@ -49,7 +48,7 @@ if [ ! -f ${LIB_DIR}/arctic.jar ]; then ls -al ${LIB_DIR} fi -java -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & +$(ARCTIC_JDK) -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & rc=$? if [ $rc -ne 0 ]; then echo "Unable to start Arctic player, rc=$rc" @@ -62,17 +61,19 @@ sleep 3 echo "Running testcases in $(TEST_GROUP) on $(PLATFORM)" echo "Java under test: $(TEST_JDK_HOME)" twm & + # Loop through files in the target directory for testcase in "$TEST_DIR"/*; do if [ -f $testcase ]; then echo "Starting testcase... $testcase" tcase=${testcase%.html} - # replace with variable representing JDK under test + $(TEST_JDK_HOME)/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :/home/jenkins/jck_root/JCK$(VERSION)-unzipped/JCK-runtime-$(VERSION)/classes: -Djava.security.policy=/home/jenkins/jck_root/JCK$(VERSION)-unzipped/JCK-runtime-$(VERSION)/lib/jck.policy javasoft.sqe.tests.api.java.awt.interactive.$(tcase) -TestCaseID ALL & + # Allow 3 seconds for RMI server to start... sleep 3 echo "Running testcase $testcase" - java -jar ${LIB_DIR}/arctic.jar -c test start "${TEST_GROUP}" "${testcase}" + $(ARCTIC_JDK) -jar ${LIB_DIR}/arctic.jar -c test start "${TEST_GROUP}" "${testcase}" rc=$? if [[ $rc -ne 0 ]]; then @@ -82,27 +83,25 @@ for testcase in "$TEST_DIR"/*; do # Allow 3 seconds for RMI server to start... sleep 3 - result=$(java -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) + result=$(${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep 3 - result=$(java -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) + result=$(${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status done echo "Terminating Arctic CLI..." - java -jar ${LIB_DIR}/arctic.jar -c terminate + $(ARCTIC_JDK) -jar ${LIB_DIR}/arctic.jar -c terminate echo "Completed playback of $(TEST_GROUP)/$(testcase) status: ${status}" fi done -#kill $xvfb_pid - echo "Finished running $testdir testcases!" if [[ $status != "UNCONFIRMED" ]]; then diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 03145886fe..fdb0a4ed45 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -39,7 +39,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/java_awt/interactive ; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/java_awt/interactive java_awt $(PLATFORM) $(VERSION); \ $(TEST_STATUS) From abbbb49acd538f38198be60f7c34a5ac15e1d23e Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Sun, 1 Jun 2025 22:53:19 -0400 Subject: [PATCH 20/85] Update arctic jar commands Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 10 +++++----- jck/interactives/playlist.xml | 9 ++------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 008afa2119..788f946b9e 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -48,7 +48,7 @@ if [ ! -f ${LIB_DIR}/arctic.jar ]; then ls -al ${LIB_DIR} fi -$(ARCTIC_JDK) -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & +$ARCTIC_JDK -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & rc=$? if [ $rc -ne 0 ]; then echo "Unable to start Arctic player, rc=$rc" @@ -73,7 +73,7 @@ for testcase in "$TEST_DIR"/*; do # Allow 3 seconds for RMI server to start... sleep 3 echo "Running testcase $testcase" - $(ARCTIC_JDK) -jar ${LIB_DIR}/arctic.jar -c test start "${TEST_GROUP}" "${testcase}" + $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "${TEST_GROUP}" "${testcase}" rc=$? if [[ $rc -ne 0 ]]; then @@ -83,21 +83,21 @@ for testcase in "$TEST_DIR"/*; do # Allow 3 seconds for RMI server to start... sleep 3 - result=$(${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep 3 - result=$(${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status done echo "Terminating Arctic CLI..." - $(ARCTIC_JDK) -jar ${LIB_DIR}/arctic.jar -c terminate + $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c terminate echo "Completed playback of $(TEST_GROUP)/$(testcase) status: ${status}" fi done diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index fdb0a4ed45..d42080e8be 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -39,7 +39,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/java_awt/interactive java_awt $(PLATFORM) $(VERSION); \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh /Users/jenkins/jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/java_awt/interactive java_awt $(PLATFORM) $(JDK_VERSION); \ $(TEST_STATUS) @@ -54,14 +54,9 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/javax_swing ; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh /Users/jenkins/jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/javax_swing/interactive javax_swing $(PLATFORM) $(JDK_VERSION); \ $(TEST_STATUS) - - - This test target is not yet available - - dev From ba4ac9c0e05c40526f5d0f75ade0afa801c8ab26 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Sun, 1 Jun 2025 23:02:00 -0400 Subject: [PATCH 21/85] Remove incorrect bracketing Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 788f946b9e..898c13abcb 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -58,8 +58,8 @@ fi # Allow 3 seconds for RMI server to start... sleep 3 -echo "Running testcases in $(TEST_GROUP) on $(PLATFORM)" -echo "Java under test: $(TEST_JDK_HOME)" +echo "Running testcases in $TEST_GROUP on $PLATFORM" +echo "Java under test: $TEST_JDK_HOME" twm & # Loop through files in the target directory @@ -68,7 +68,7 @@ for testcase in "$TEST_DIR"/*; do echo "Starting testcase... $testcase" tcase=${testcase%.html} - $(TEST_JDK_HOME)/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :/home/jenkins/jck_root/JCK$(VERSION)-unzipped/JCK-runtime-$(VERSION)/classes: -Djava.security.policy=/home/jenkins/jck_root/JCK$(VERSION)-unzipped/JCK-runtime-$(VERSION)/lib/jck.policy javasoft.sqe.tests.api.java.awt.interactive.$(tcase) -TestCaseID ALL & + $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :/home/jenkins/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/classes: -Djava.security.policy=/home/jenkins/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/lib/jck.policy javasoft.sqe.tests.api.java.awt.interactive.$tcase -TestCaseID ALL & # Allow 3 seconds for RMI server to start... sleep 3 @@ -98,7 +98,7 @@ for testcase in "$TEST_DIR"/*; do echo "Terminating Arctic CLI..." $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c terminate - echo "Completed playback of $(TEST_GROUP)/$(testcase) status: ${status}" + echo "Completed playback of $TEST_GROUP/$testcase status: ${status}" fi done From 1156451dacd359cba9733a476514f1453680ccb1 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Sun, 1 Jun 2025 23:11:01 -0400 Subject: [PATCH 22/85] Use OS_NAME Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 6 +++--- jck/interactives/playlist.xml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 898c13abcb..2e874ddb9e 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -21,11 +21,11 @@ mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar TEST_DIR=$1 TEST_GROUP=$2 -PLATFORM=$3 +OS_NAME=$3 VERSION=$4 echo "TEST_DIR is $TEST_DIR" ls -al "$TEST_DIR" -echo "TEST_GROUP is $TEST_GROUP, PLATFORM is $PLATFORM, VERSION is $VERSION" +echo "TEST_GROUP is $TEST_GROUP, OS_NAME is $OS_NAME, VERSION is $VERSION" # Set environment variables export LC_ALL=POSIX @@ -58,7 +58,7 @@ fi # Allow 3 seconds for RMI server to start... sleep 3 -echo "Running testcases in $TEST_GROUP on $PLATFORM" +echo "Running testcases in $TEST_GROUP on $OS_NAME" echo "Java under test: $TEST_JDK_HOME" twm & diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index d42080e8be..5632e8f9d1 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -19,7 +19,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/$(PLATFORM)/arctic_tests/default/$(JCKINTERACTIVES_CUSTOM_TARGET) ; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/$(OS_NAME)/arctic_tests/default/$(JCKINTERACTIVES_CUSTOM_TARGET) ; \ $(TEST_STATUS) @@ -39,7 +39,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh /Users/jenkins/jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/java_awt/interactive java_awt $(PLATFORM) $(JDK_VERSION); \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh /Users/jenkins/jck_run/arctic/$(OS_NAME)/arctic_tests/default/api/java_awt/interactive java_awt $(OS_NAME) $(JDK_VERSION); \ $(TEST_STATUS) @@ -54,7 +54,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh /Users/jenkins/jck_run/arctic/$(PLATFORM)/arctic_tests/default/api/javax_swing/interactive javax_swing $(PLATFORM) $(JDK_VERSION); \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh /Users/jenkins/jck_run/arctic/$(OS_NAME)/arctic_tests/default/api/javax_swing/interactive javax_swing $(OS_NAME) $(JDK_VERSION); \ $(TEST_STATUS) From 2ca4cbd10e9dcb1341d3d5ee61f63b0cb6925aef Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Sun, 1 Jun 2025 23:30:23 -0400 Subject: [PATCH 23/85] Back to PLATFORM Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 14 +++++++------- jck/interactives/playlist.xml | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 2e874ddb9e..ab6f8c6592 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -18,14 +18,14 @@ mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar # Test job run with SETUP_JCK_RUN=true copies jck_run dir to /jenkins/jck_run # Verify that the contents are there, including player.properties & dir with recordings - -TEST_DIR=$1 -TEST_GROUP=$2 -OS_NAME=$3 -VERSION=$4 +TEST_GROUP=$1 +PLATFORM=$2 +VERSION=$3 +OSNAME=${PLATFORM%_*} +TEST_DIR=/Users/jenkins/jck_run/arctic/$OSNAME/arctic_tests/default/api/$TEST_GROUP/interactive echo "TEST_DIR is $TEST_DIR" ls -al "$TEST_DIR" -echo "TEST_GROUP is $TEST_GROUP, OS_NAME is $OS_NAME, VERSION is $VERSION" +echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION" # Set environment variables export LC_ALL=POSIX @@ -58,7 +58,7 @@ fi # Allow 3 seconds for RMI server to start... sleep 3 -echo "Running testcases in $TEST_GROUP on $OS_NAME" +echo "Running testcases in $TEST_GROUP on $OSNAME" echo "Java under test: $TEST_JDK_HOME" twm & diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 5632e8f9d1..76d31e5b1c 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -19,7 +19,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh ${WORKSPACE}/../../jck_run/arctic/$(OS_NAME)/arctic_tests/default/$(JCKINTERACTIVES_CUSTOM_TARGET) ; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh custom ${PLATFORM} ${JDK_VERSION} ${JCKINTERACTIVES_CUSTOM_TARGET} ; \ $(TEST_STATUS) @@ -39,7 +39,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh /Users/jenkins/jck_run/arctic/$(OS_NAME)/arctic_tests/default/api/java_awt/interactive java_awt $(OS_NAME) $(JDK_VERSION); \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION}; \ $(TEST_STATUS) @@ -54,7 +54,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh /Users/jenkins/jck_run/arctic/$(OS_NAME)/arctic_tests/default/api/javax_swing/interactive javax_swing $(OS_NAME) $(JDK_VERSION); \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh javax_swing ${PLATFORM} ${JDK_VERSION}; \ $(TEST_STATUS) From c1aaf2d316a9dffac823270f74a9a028d28873a9 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Sun, 1 Jun 2025 23:49:41 -0400 Subject: [PATCH 24/85] Different platforms have different JENKINS_HOME Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index ab6f8c6592..d6a6a32150 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -22,7 +22,8 @@ TEST_GROUP=$1 PLATFORM=$2 VERSION=$3 OSNAME=${PLATFORM%_*} -TEST_DIR=/Users/jenkins/jck_run/arctic/$OSNAME/arctic_tests/default/api/$TEST_GROUP/interactive +JENKINS_HOME=/home/jenkins +TEST_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests/default/api/$TEST_GROUP/interactive echo "TEST_DIR is $TEST_DIR" ls -al "$TEST_DIR" echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION" From 25ca6ca496fbebcbdc5565145c3096992a271869 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Sun, 1 Jun 2025 23:58:04 -0400 Subject: [PATCH 25/85] Loop thru test_dir Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index d6a6a32150..2cd57f8785 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -64,7 +64,8 @@ echo "Java under test: $TEST_JDK_HOME" twm & # Loop through files in the target directory -for testcase in "$TEST_DIR"/*; do +for testcase in $TEST_DIR/* +do if [ -f $testcase ]; then echo "Starting testcase... $testcase" tcase=${testcase%.html} @@ -103,7 +104,7 @@ for testcase in "$TEST_DIR"/*; do fi done -echo "Finished running $testdir testcases!" +echo "Finished running $TEST_DIR testcases!" if [[ $status != "UNCONFIRMED" ]]; then echo "Arctic playback failed" From 03708d0682a7b30eeb2f3d686d552e053c25b495 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 2 Jun 2025 00:04:20 -0400 Subject: [PATCH 26/85] Debug Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 2cd57f8785..20cb251419 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -66,6 +66,7 @@ twm & # Loop through files in the target directory for testcase in $TEST_DIR/* do +echo "testcase is $testcase" if [ -f $testcase ]; then echo "Starting testcase... $testcase" tcase=${testcase%.html} From ec1f7edd796d37f5aa03cbbe31713a05922b1c79 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 2 Jun 2025 00:14:07 -0400 Subject: [PATCH 27/85] Strip file and suffix off Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 20cb251419..ed63969132 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -67,7 +67,7 @@ twm & for testcase in $TEST_DIR/* do echo "testcase is $testcase" - if [ -f $testcase ]; then + if [ -d $testcase ]; then echo "Starting testcase... $testcase" tcase=${testcase%.html} @@ -76,24 +76,24 @@ echo "testcase is $testcase" # Allow 3 seconds for RMI server to start... sleep 3 echo "Running testcase $testcase" - $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "${TEST_GROUP}" "${testcase}" + $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "${TEST_GROUP}" "${tcase}" rc=$? if [[ $rc -ne 0 ]]; then - echo "Unable to start playback for testcase ${TEST_GROUP}/${testcase}, rc=$rc" + echo "Unable to start playback for testcase ${TEST_GROUP}/${tcase}, rc=$rc" exit $rc fi # Allow 3 seconds for RMI server to start... sleep 3 - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${tcase}) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep 3 - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${testcase}) + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${tcase}) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status @@ -101,7 +101,7 @@ echo "testcase is $testcase" echo "Terminating Arctic CLI..." $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c terminate - echo "Completed playback of $TEST_GROUP/$testcase status: ${status}" + echo "Completed playback of $TEST_GROUP/$tcase status: ${status}" fi done From cbac0774a3ab21fcda7a4efdb8dcb15a3b5d1f51 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 2 Jun 2025 00:26:38 -0400 Subject: [PATCH 28/85] use basename Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index ed63969132..369ff261ac 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -69,7 +69,7 @@ do echo "testcase is $testcase" if [ -d $testcase ]; then echo "Starting testcase... $testcase" - tcase=${testcase%.html} + tcase=$(basename $testcase .html) $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :/home/jenkins/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/classes: -Djava.security.policy=/home/jenkins/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/lib/jck.policy javasoft.sqe.tests.api.java.awt.interactive.$tcase -TestCaseID ALL & From 75a349b639bc6f504815ed60d3b51960b3127b00 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 2 Jun 2025 00:37:22 -0400 Subject: [PATCH 29/85] Strip down to only file name Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 369ff261ac..4d1b1d1674 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -69,7 +69,8 @@ do echo "testcase is $testcase" if [ -d $testcase ]; then echo "Starting testcase... $testcase" - tcase=$(basename $testcase .html) + tcase=${testcase##*/} + tcase=${s%.html} $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :/home/jenkins/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/classes: -Djava.security.policy=/home/jenkins/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/lib/jck.policy javasoft.sqe.tests.api.java.awt.interactive.$tcase -TestCaseID ALL & From d454c4bc0e51a5a309273a2cc5f1358695ae8614 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 2 Jun 2025 07:44:35 -0400 Subject: [PATCH 30/85] Get tcase name Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 4d1b1d1674..90fdba3dd0 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -70,7 +70,7 @@ echo "testcase is $testcase" if [ -d $testcase ]; then echo "Starting testcase... $testcase" tcase=${testcase##*/} - tcase=${s%.html} + tcase=${tcase%.html} $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :/home/jenkins/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/classes: -Djava.security.policy=/home/jenkins/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/lib/jck.policy javasoft.sqe.tests.api.java.awt.interactive.$tcase -TestCaseID ALL & From ecc40b8220ae8616bc5b4c32964ceac433b573ae Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Wed, 4 Jun 2025 10:45:42 -0400 Subject: [PATCH 31/85] Extend sleep Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 44 ++++++++++++++--------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 90fdba3dd0..60d8949013 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -16,19 +16,27 @@ wget -q https://ci.adoptium.net/job/Build_Arctic/5/artifact/upload/arctic-0.8.1.jar mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar -# Test job run with SETUP_JCK_RUN=true copies jck_run dir to /jenkins/jck_run -# Verify that the contents are there, including player.properties & dir with recordings +JENKINS_HOME=/home/jenkins +if [ $(uname) = SunOS ]; then + JENKINS_HOME = "/export/home/jenkins" +elif [ $(uname) = Darwin ]; then + JENKINS_HOME = "/Users/jenkins" +elif [ $(uname) = Windows_NT ]; then + JENKINS_HOME = "c:/Users/jenkins" +fi + +# Verify that the contents are present in jck_run TEST_GROUP=$1 PLATFORM=$2 VERSION=$3 OSNAME=${PLATFORM%_*} -JENKINS_HOME=/home/jenkins + TEST_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests/default/api/$TEST_GROUP/interactive echo "TEST_DIR is $TEST_DIR" ls -al "$TEST_DIR" echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION" -# Set environment variables +# Set environment variables, makes the assumption that JDK21 is the default java in /usr/bin/java export LC_ALL=POSIX export ARCTIC_JDK=/usr/bin/java @@ -42,13 +50,12 @@ sed -i 's/TitleFont .*$/TitleFont "-misc-fixed-bold-r-normal--15-140-75-75-c-9 sed -i 's/IconFont .*$/IconFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc sed -i 's/ResizeFont .*$/ResizeFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc -echo "Starting player in background with RMI..." - if [ ! -f ${LIB_DIR}/arctic.jar ]; then echo "arctic.jar not present" ls -al ${LIB_DIR} fi +echo "Starting player in background with RMI..." $ARCTIC_JDK -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & rc=$? if [ $rc -ne 0 ]; then @@ -71,30 +78,33 @@ echo "testcase is $testcase" echo "Starting testcase... $testcase" tcase=${testcase##*/} tcase=${tcase%.html} + echo "tcase is $tcase" + tgroup=${TEST_GROUP//_/\.} + echo $tgroup - $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :/home/jenkins/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/classes: -Djava.security.policy=/home/jenkins/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/lib/jck.policy javasoft.sqe.tests.api.java.awt.interactive.$tcase -TestCaseID ALL & + $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ALL & # Allow 3 seconds for RMI server to start... - sleep 3 + sleep 10 echo "Running testcase $testcase" - $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "${TEST_GROUP}" "${tcase}" - rc=$? - - if [[ $rc -ne 0 ]]; then - echo "Unable to start playback for testcase ${TEST_GROUP}/${tcase}, rc=$rc" - exit $rc - fi + $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "$TEST_GROUP" "$tcase" + rc=$? + + if [[ $rc -ne 0 ]]; then + echo "Unable to start playback for testcase $TEST_GROUP/$tcase, rc=$rc" + exit $rc + fi # Allow 3 seconds for RMI server to start... sleep 3 - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${tcase}) + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep 3 - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${tcase}) + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status From dfd68ad29f8cca761bc48060362d0611eff1ece6 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Wed, 11 Jun 2025 19:58:36 -0400 Subject: [PATCH 32/85] Cp and edit player.properties Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 14 +++++++++++--- jck/interactives/playlist.xml | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 60d8949013..794d7e784e 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -17,18 +17,23 @@ wget -q https://ci.adoptium.net/job/Build_Arctic/5/artifact/upload/arctic-0.8.1. mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar JENKINS_HOME=/home/jenkins +PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/mac/arctic_tests#g' if [ $(uname) = SunOS ]; then JENKINS_HOME = "/export/home/jenkins" + PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /export/home/jenkins/jck_run/arctic/mac/arctic_tests#g' elif [ $(uname) = Darwin ]; then JENKINS_HOME = "/Users/jenkins" + PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /Users/jenkins/jck_run/arctic/mac/arctic_tests#g' elif [ $(uname) = Windows_NT ]; then JENKINS_HOME = "c:/Users/jenkins" + PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/mac/arctic_tests#g' fi # Verify that the contents are present in jck_run TEST_GROUP=$1 PLATFORM=$2 VERSION=$3 +JCK_VERSION_NUMBER=$4 OSNAME=${PLATFORM%_*} TEST_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests/default/api/$TEST_GROUP/interactive @@ -50,6 +55,9 @@ sed -i 's/TitleFont .*$/TitleFont "-misc-fixed-bold-r-normal--15-140-75-75-c-9 sed -i 's/IconFont .*$/IconFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc sed -i 's/ResizeFont .*$/ResizeFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc +cp $JENKINS_HOME/jck_run/arctic/mac/player.properties . +sed -i '' $PPROP_LINE player.properties + if [ ! -f ${LIB_DIR}/arctic.jar ]; then echo "arctic.jar not present" ls -al ${LIB_DIR} @@ -82,12 +90,12 @@ echo "testcase is $testcase" tgroup=${TEST_GROUP//_/\.} echo $tgroup - $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$VERSION/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ALL & + $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ALL & # Allow 3 seconds for RMI server to start... sleep 10 echo "Running testcase $testcase" - $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "$TEST_GROUP" "$tcase" + $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "api/$TEST_GROUP" "$tcase" rc=$? if [[ $rc -ne 0 ]]; then @@ -96,7 +104,7 @@ echo "testcase is $testcase" fi # Allow 3 seconds for RMI server to start... - sleep 3 + sleep 10 result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 76d31e5b1c..1d2dc2c030 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -39,7 +39,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION}; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION} ${JCK_VERSION_NUMBER}; \ $(TEST_STATUS) From 23fef3d2f37de3c687b6fa8dfbc9ae984f3b9235 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Thu, 12 Jun 2025 07:48:50 -0400 Subject: [PATCH 33/85] Fix sed line Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 794d7e784e..ea57a13cf0 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -56,7 +56,7 @@ sed -i 's/IconFont .*$/IconFont "-misc-fixed-bold-r-normal--15-140-75-75-c-9 sed -i 's/ResizeFont .*$/ResizeFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc cp $JENKINS_HOME/jck_run/arctic/mac/player.properties . -sed -i '' $PPROP_LINE player.properties +sed -i $PPROP_LINE player.properties if [ ! -f ${LIB_DIR}/arctic.jar ]; then echo "arctic.jar not present" From 2acdb284b3fb401cd564124e1c8d6ca8f7dd45fc Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Thu, 12 Jun 2025 07:51:42 -0400 Subject: [PATCH 34/85] Fix quotes Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index ea57a13cf0..582e79b6ea 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -56,7 +56,7 @@ sed -i 's/IconFont .*$/IconFont "-misc-fixed-bold-r-normal--15-140-75-75-c-9 sed -i 's/ResizeFont .*$/ResizeFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc cp $JENKINS_HOME/jck_run/arctic/mac/player.properties . -sed -i $PPROP_LINE player.properties +sed -i "$PPROP_LINE" player.properties if [ ! -f ${LIB_DIR}/arctic.jar ]; then echo "arctic.jar not present" From f751a764b65efd18eda955762e8ea0bb23bfaeb5 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Thu, 12 Jun 2025 07:52:54 -0400 Subject: [PATCH 35/85] Debug Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 582e79b6ea..a994192b13 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -56,6 +56,7 @@ sed -i 's/IconFont .*$/IconFont "-misc-fixed-bold-r-normal--15-140-75-75-c-9 sed -i 's/ResizeFont .*$/ResizeFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc cp $JENKINS_HOME/jck_run/arctic/mac/player.properties . +echo "Player properties line is $PPROP_LINE" sed -i "$PPROP_LINE" player.properties if [ ! -f ${LIB_DIR}/arctic.jar ]; then From 59b5381b498d5fcf72cca799357f91c8f8c116d4 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Thu, 12 Jun 2025 07:55:26 -0400 Subject: [PATCH 36/85] Remove extraneous backslashes Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index a994192b13..aa227495fc 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -17,16 +17,16 @@ wget -q https://ci.adoptium.net/job/Build_Arctic/5/artifact/upload/arctic-0.8.1. mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar JENKINS_HOME=/home/jenkins -PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/mac/arctic_tests#g' +PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/mac/arctic_tests#g' if [ $(uname) = SunOS ]; then JENKINS_HOME = "/export/home/jenkins" - PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /export/home/jenkins/jck_run/arctic/mac/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /export/home/jenkins/jck_run/arctic/mac/arctic_tests#g' elif [ $(uname) = Darwin ]; then JENKINS_HOME = "/Users/jenkins" - PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /Users/jenkins/jck_run/arctic/mac/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /Users/jenkins/jck_run/arctic/mac/arctic_tests#g' elif [ $(uname) = Windows_NT ]; then JENKINS_HOME = "c:/Users/jenkins" - PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/mac/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/mac/arctic_tests#g' fi # Verify that the contents are present in jck_run From 5e6e8c3edb0da8781356056d664b22670e8041b4 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Tue, 17 Jun 2025 12:46:48 -0400 Subject: [PATCH 37/85] Updates for scope Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 29 +++++++++++++---------- jck/interactives/playlist.xml | 6 ++--- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index aa227495fc..1675389c75 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -33,13 +33,18 @@ fi TEST_GROUP=$1 PLATFORM=$2 VERSION=$3 -JCK_VERSION_NUMBER=$4 +TEST_SUB_DIR=$4 +JCK_VERSION_NUMBER=$5 OSNAME=${PLATFORM%_*} +STARTING_SCOPE=$VERSION +if [ $VERSION -eq 8 ]; then + STARTING_SCOPE="default" +fi -TEST_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests/default/api/$TEST_GROUP/interactive +TEST_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests/$STARTING_SCOPE/$TEST_SUB_DIR echo "TEST_DIR is $TEST_DIR" ls -al "$TEST_DIR" -echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION" +echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION", STARTING_SCOPE is $STARTING_SCOPE, TEST_SUB_DIR is $TEST_SUB_DIR # Set environment variables, makes the assumption that JDK21 is the default java in /usr/bin/java export LC_ALL=POSIX @@ -72,8 +77,8 @@ if [ $rc -ne 0 ]; then exit $rc fi -# Allow 3 seconds for RMI server to start... -sleep 3 +# Allow time for RMI server to start... +sleep 5 echo "Running testcases in $TEST_GROUP on $OSNAME" echo "Java under test: $TEST_JDK_HOME" @@ -93,7 +98,6 @@ echo "testcase is $testcase" $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ALL & - # Allow 3 seconds for RMI server to start... sleep 10 echo "Running testcase $testcase" $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "api/$TEST_GROUP" "$tcase" @@ -104,13 +108,12 @@ echo "testcase is $testcase" exit $rc fi - # Allow 3 seconds for RMI server to start... - sleep 10 - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) - rc=$? - status=$(echo $result | tr -s ' ' | cut -d' ' -f2) - echo "==>" $status - while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; + sleep 10 + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) + rc=$? + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "==>" $status + while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep 3 result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 1d2dc2c030..98d56180a2 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -19,7 +19,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh custom ${PLATFORM} ${JDK_VERSION} ${JCKINTERACTIVES_CUSTOM_TARGET} ; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh custom ${PLATFORM} ${JDK_VERSION} ${JCKINTERACTIVES_CUSTOM_TARGET} ${JCK_VERSION_NUMBER}; \ $(TEST_STATUS) @@ -39,7 +39,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION} ${JCK_VERSION_NUMBER}; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION} api/java/awt/interactive ${JCK_VERSION_NUMBER}; \ $(TEST_STATUS) @@ -54,7 +54,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh javax_swing ${PLATFORM} ${JDK_VERSION}; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh javax_swing ${PLATFORM} ${JDK_VERSION} api/javax/swing/interactive ${JCK_VERSION_NUMBER}; \ $(TEST_STATUS) From dabf623c6ebaf8e78c6f622fc6d7c36948576356 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Fri, 20 Jun 2025 07:35:09 -0600 Subject: [PATCH 38/85] Debugging Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 1675389c75..ee2788455c 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -18,6 +18,7 @@ mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar JENKINS_HOME=/home/jenkins PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/mac/arctic_tests#g' +JOPTIONS="-Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000" if [ $(uname) = SunOS ]; then JENKINS_HOME = "/export/home/jenkins" PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /export/home/jenkins/jck_run/arctic/mac/arctic_tests#g' @@ -41,7 +42,7 @@ if [ $VERSION -eq 8 ]; then STARTING_SCOPE="default" fi -TEST_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests/$STARTING_SCOPE/$TEST_SUB_DIR +TEST_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests/$STARTING_SCOPE/$TEST_SUB_DIR/interactive echo "TEST_DIR is $TEST_DIR" ls -al "$TEST_DIR" echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION", STARTING_SCOPE is $STARTING_SCOPE, TEST_SUB_DIR is $TEST_SUB_DIR @@ -88,7 +89,13 @@ twm & for testcase in $TEST_DIR/* do echo "testcase is $testcase" +# if $TEST_DIR "ends with .html": +# run -TestCaseID ALL +#else: +# run -TestCaseID if [ -d $testcase ]; then + # Look for Test.json file & Test.link file + echo "Starting testcase... $testcase" tcase=${testcase##*/} tcase=${tcase%.html} @@ -96,11 +103,11 @@ echo "testcase is $testcase" tgroup=${TEST_GROUP//_/\.} echo $tgroup - $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000 -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ALL & + # $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql $JOPTIONS -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ALL & sleep 10 echo "Running testcase $testcase" - $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "api/$TEST_GROUP" "$tcase" + # $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "api/$TEST_GROUP" "$tcase" rc=$? if [[ $rc -ne 0 ]]; then @@ -109,21 +116,24 @@ echo "testcase is $testcase" fi sleep 10 - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) + echo "$TEST_GROUP/$tcase" + result="testing" + # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep 3 - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) + result="testing" + # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status done echo "Terminating Arctic CLI..." - $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c terminate + # $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c terminate echo "Completed playback of $TEST_GROUP/$tcase status: ${status}" fi done From 87b94e53e78985cb705a0781800886bdae22bbf9 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 23 Jun 2025 06:56:00 -0600 Subject: [PATCH 39/85] Debugging Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 97 +++++++++++++++++------ 1 file changed, 71 insertions(+), 26 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index ee2788455c..1cad15af5b 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -16,18 +16,76 @@ wget -q https://ci.adoptium.net/job/Build_Arctic/5/artifact/upload/arctic-0.8.1.jar mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar -JENKINS_HOME=/home/jenkins -PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/mac/arctic_tests#g' +setupLinuxEnv() { + # Set environment variables, makes the assumption that JDK21 is the default java in /usr/bin/java + export LC_ALL=POSIX + export ARCTIC_JDK=/usr/bin/java + + echo "Fonts:" + echo "===========================================" + find /usr/share/fonts -name "*" -type d + echo "===========================================" + + cp /etc/X11/twm/system.twmrc $HOME/.twmrc + echo 'RightTitleButton "xlogo11" = f.delete' >> $HOME/.twmrc + echo 'Button3 = : root : f.menu "windowops"' >> $HOME/.twmrc + echo 'RandomPlacement' >> $HOME/.twmrc + + # Ensure fonts match recording vs playback + sed -i 's/MenuFont.*$/MenuFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc + sed -i 's/TitleFont .*$/TitleFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc + sed -i 's/IconFont .*$/IconFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc + sed -i 's/ResizeFont .*$/ResizeFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc + sed -i 's/IconManagerFont .*$/IconManagerFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc + + # Ensure consistent colors + sed -i 's/BorderColor.*$/BorderColor "slategrey"/g' $HOME/.twmrc + sed -i 's/DefaultBackground.*$/DefaultBackground "rgb:2\\/a\\/9"/g' $HOME/.twmrc + sed -i 's/DefaultForeground.*$/DefaultForeground "gray85"/g' $HOME/.twmrc + sed -i 's/TitleBackground.*$/TitleBackground "rgb:2\\/a\\/9"/g' $HOME/.twmrc + sed -i 's/TitleForeground.*$/TitleForeground "gray85"/g' $HOME/.twmrc + sed -i 's/MenuBackground.*$/MenuBackground "rgb:2\\/a\\/9"/g' $HOME/.twmrc + sed -i 's/MenuForeground.*$/MenuForeground "gray85"/g' $HOME/.twmrc + sed -i 's/MenuBorderColor.*$/MenuBorderColor "slategrey"/g' $HOME/.twmrc + sed -i 's/MenuTitleBackground.*$/MenuTitleBackground "gray70"/g' $HOME/.twmrc + sed -i 's/MenuTitleForeground.*$/MenuTitleForeground "rgb:2\\/a\\/9"/g' $HOME/.twmrc + sed -i 's/IconBackground.*$/IconBackground "rgb:2\\/a\\/9"/g' $HOME/.twmrc + sed -i 's/IconForeground.*$/IconForeground "gray85"/g' $HOME/.twmrc + sed -i 's/IconBorderColor.*$/IconBorderColor "gray85"/g' $HOME/.twmrc + sed -i 's/IconManagerBackground.*$/IconManagerBackground "rgb:2\\/a\\/9"/g' $HOME/.twmrc + sed -i 's/IconManagerForeground.*$/IconManagerForeground "gray85"/g' $HOME/.twmrc + + # Start twm + twm & + twm_pid=$! + echo "Started twm process $twm_pid" +} + +setupMacEnv() { + +} + +setupWindowsEnv() { + +} + JOPTIONS="-Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000" -if [ $(uname) = SunOS ]; then - JENKINS_HOME = "/export/home/jenkins" - PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /export/home/jenkins/jck_run/arctic/mac/arctic_tests#g' + +if [ $(uname) = Linux ]; then + JENKINS_HOME=/home/jenkins + PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/mac/arctic_tests#g' + setupLinuxEnv + elif [ $(uname) = Darwin ]; then JENKINS_HOME = "/Users/jenkins" - PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /Users/jenkins/jck_run/arctic/mac/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /Users/jenkins/jck_run/arctic/mac/arctic_tests#g' + setupMacEnv + elif [ $(uname) = Windows_NT ]; then JENKINS_HOME = "c:/Users/jenkins" PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/mac/arctic_tests#g' + setupWindowsEnv + fi # Verify that the contents are present in jck_run @@ -47,21 +105,12 @@ echo "TEST_DIR is $TEST_DIR" ls -al "$TEST_DIR" echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION", STARTING_SCOPE is $STARTING_SCOPE, TEST_SUB_DIR is $TEST_SUB_DIR -# Set environment variables, makes the assumption that JDK21 is the default java in /usr/bin/java -export LC_ALL=POSIX -export ARCTIC_JDK=/usr/bin/java - -cp /etc/X11/twm/system.twmrc $HOME/.twmrc -echo 'RightTitleButton "xlogo11" = f.delete' >> $HOME/.twmrc -echo 'Button3 = : root : f.menu "windowops"' >> $HOME/.twmrc -echo 'RandomPlacement' >> $HOME/.twmrc -# Ensure fonts match recording vs playback -sed -i 's/MenuFont.*$/MenuFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc -sed -i 's/TitleFont .*$/TitleFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc -sed -i 's/IconFont .*$/IconFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc -sed -i 's/ResizeFont .*$/ResizeFont "-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1"/g' $HOME/.twmrc - -cp $JENKINS_HOME/jck_run/arctic/mac/player.properties . +echo "Running testcases in $TEST_GROUP on $OSNAME" +if [ $OSNAME = osx ]; then + $OSNAME = "mac" +fi + +cp $JENKINS_HOME/jck_run/arctic/$OSNAME/player.properties . echo "Player properties line is $PPROP_LINE" sed -i "$PPROP_LINE" player.properties @@ -71,17 +120,13 @@ if [ ! -f ${LIB_DIR}/arctic.jar ]; then fi echo "Starting player in background with RMI..." -$ARCTIC_JDK -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & +# $ARCTIC_JDK -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & rc=$? if [ $rc -ne 0 ]; then echo "Unable to start Arctic player, rc=$rc" exit $rc fi -# Allow time for RMI server to start... -sleep 5 - -echo "Running testcases in $TEST_GROUP on $OSNAME" echo "Java under test: $TEST_JDK_HOME" twm & From 002f6091f08a62e69b66eb3a493f5d292affae36 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 23 Jun 2025 20:24:03 -0600 Subject: [PATCH 40/85] Debug Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 1cad15af5b..e9c1f8fbe2 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -17,6 +17,7 @@ wget -q https://ci.adoptium.net/job/Build_Arctic/5/artifact/upload/arctic-0.8.1. mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar setupLinuxEnv() { + echo "Setup Linux Environment" # Set environment variables, makes the assumption that JDK21 is the default java in /usr/bin/java export LC_ALL=POSIX export ARCTIC_JDK=/usr/bin/java @@ -62,11 +63,11 @@ setupLinuxEnv() { } setupMacEnv() { - + echo "Setup Mac Environment" } setupWindowsEnv() { - + echo "Setup Windows Environment" } JOPTIONS="-Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000" @@ -100,15 +101,16 @@ if [ $VERSION -eq 8 ]; then STARTING_SCOPE="default" fi +if [ $OSNAME = osx ]; then + $OSNAME = "mac" +fi + TEST_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests/$STARTING_SCOPE/$TEST_SUB_DIR/interactive echo "TEST_DIR is $TEST_DIR" ls -al "$TEST_DIR" echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION", STARTING_SCOPE is $STARTING_SCOPE, TEST_SUB_DIR is $TEST_SUB_DIR echo "Running testcases in $TEST_GROUP on $OSNAME" -if [ $OSNAME = osx ]; then - $OSNAME = "mac" -fi cp $JENKINS_HOME/jck_run/arctic/$OSNAME/player.properties . echo "Player properties line is $PPROP_LINE" From fa2c7f7521d238adfb1c0202e0d2fcfe8fd35e97 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Mon, 23 Jun 2025 22:23:12 -0600 Subject: [PATCH 41/85] Remove extra dir Signed-off-by: Shelley Lambert --- jck/interactives/playlist.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 98d56180a2..dcf93fe6b3 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -39,7 +39,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION} api/java/awt/interactive ${JCK_VERSION_NUMBER}; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION} api/java/awt ${JCK_VERSION_NUMBER}; \ $(TEST_STATUS) @@ -54,7 +54,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh javax_swing ${PLATFORM} ${JDK_VERSION} api/javax/swing/interactive ${JCK_VERSION_NUMBER}; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh javax_swing ${PLATFORM} ${JDK_VERSION} api/javax/swing ${JCK_VERSION_NUMBER}; \ $(TEST_STATUS) From c28b893c8e6eafd22cb9b3270b1cb217c6f921e9 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Tue, 24 Jun 2025 09:02:46 -0600 Subject: [PATCH 42/85] Debug Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 165 ++++++++++++++++------ 1 file changed, 123 insertions(+), 42 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index e9c1f8fbe2..8e1ba51006 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -12,14 +12,18 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Fetch the prebuilt arctic jar (will be pulled from prereq build eventually) -wget -q https://ci.adoptium.net/job/Build_Arctic/5/artifact/upload/arctic-0.8.1.jar -mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar +set +e + +active_versions=("24" "21" "17" "11" "default") +export LC_ALL=POSIX setupLinuxEnv() { echo "Setup Linux Environment" + # Fetch the prebuilt arctic jar (will be pulled from prereq build eventually) + wget -q https://ci.adoptium.net/job/Build_Arctic/5/artifact/upload/arctic-0.8.1.jar + mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar + # Set environment variables, makes the assumption that JDK21 is the default java in /usr/bin/java - export LC_ALL=POSIX export ARCTIC_JDK=/usr/bin/java echo "Fonts:" @@ -63,11 +67,77 @@ setupLinuxEnv() { } setupMacEnv() { - echo "Setup Mac Environment" + export AWT_FORCE_HEADFUL=true + echo "Setup Mac Environment" + cat < JMinWindows.java + import java.awt.Robot; + import java.awt.event.KeyEvent; + import java.awt.Desktop; + import java.io.File; + public class JMinWindows { + public static void main(String... args) throws Exception { + System.out.println("JMinWindows: Opening Finder on home folder so Finder becomes active front window and will get closed by Alt-Cmd-M"); + Desktop.getDesktop().open(new File(System.getProperty("user.home"))); + System.out.println("JMinWindows: Issuing Alt-Cmd-H to minimize all 'other' Windows"); + Robot r = new Robot(); + r.keyPress(KeyEvent.VK_META); + r.delay(250); + r.keyPress(KeyEvent.VK_ALT); + r.delay(250); + r.keyPress(KeyEvent.VK_H); + r.delay(250); + r.keyRelease(KeyEvent.VK_H); + r.delay(250); + r.keyRelease(KeyEvent.VK_ALT); + r.delay(250); + r.keyRelease(KeyEvent.VK_META); + r.delay(250); + System.out.println("JMinWindows: Issuing Alt-Cmd-M to minimize all Finder Windows"); + r.keyPress(KeyEvent.VK_META); + r.delay(250); + r.keyPress(KeyEvent.VK_ALT); + r.delay(250); + r.keyPress(KeyEvent.VK_M); + r.delay(250); + r.keyRelease(KeyEvent.VK_M); + r.delay(250); + r.keyRelease(KeyEvent.VK_ALT); + r.delay(250); + r.keyRelease(KeyEvent.VK_META); + r.delay(250); + } + } +EOF + + javac JMinWindows.java + java -Djava.awt.headless=false JMinWindows + + echo "Running java ListJavaFonts..." + +cat < ListJavaFonts.java + import java.awt.GraphicsEnvironment; + public class ListJavaFonts { + public static void main( String[] args ) { + String java_fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); + for(String font : java_fonts) System.out.println( font ); + } + } +EOF + + javac ListJavaFonts.java + echo "================================================" + java ListJavaFonts + echo "================================================" + } setupWindowsEnv() { - echo "Setup Windows Environment" + echo "Setup Windows Environment" + ARCTIC_JDK=$(cygpath -u "C:/Users/jenkins/jck_run/${TEST_JDK_PATH}/bin/java") + echo "Copying Arctic.jar Into Place" + cp -rf /cygdrive/c/temp/arctic_jars/arctic-0.8.1.jar ${LIB_DIR}/arctic.jar + cp -rf /cygdrive/c/temp/arctic_jars/JNativeHook-0.8.1.x86_64.dll ${LIB_DIR}/JNativeHook-0.8.1.x86_64.dll + echo "Working directory: $(pwd)" } JOPTIONS="-Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000" @@ -133,44 +203,52 @@ echo "Java under test: $TEST_JDK_HOME" twm & # Loop through files in the target directory -for testcase in $TEST_DIR/* -do -echo "testcase is $testcase" -# if $TEST_DIR "ends with .html": -# run -TestCaseID ALL -#else: -# run -TestCaseID - if [ -d $testcase ]; then - # Look for Test.json file & Test.link file - - echo "Starting testcase... $testcase" - tcase=${testcase##*/} - tcase=${tcase%.html} - echo "tcase is $tcase" - tgroup=${TEST_GROUP//_/\.} - echo $tgroup - - # $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql $JOPTIONS -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ALL & +for testcase in $TEST_DIR/*; do + + +#for (( i = start_index; i < ${#active_versions[@]}; i++ )); do +for i in "${active_versions[@]}"; do + echo "testcase is $testcase" + echo "Look for testcases in version: $i" + if [ ! -e $testcase ] || [ "$VERSION" -ge "$i" ]; then + continue + fi + + if [ -d $testcase ]; then + # Look for Test.json file & Test.link file + + # if $TEST_DIR "ends with .html": + # run -TestCaseID ALL + #else: + # run -TestCaseID + + echo "Starting testcase... $testcase" + tcase=${testcase##*/} + tcase=${tcase%.html} + echo "tcase is $tcase" + tgroup=${TEST_GROUP//_/\.} + echo $tgroup + + # $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql $JOPTIONS -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ALL & - sleep 10 - echo "Running testcase $testcase" - # $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "api/$TEST_GROUP" "$tcase" - rc=$? + sleep 10 + echo "Running testcase $testcase" + # $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "api/$TEST_GROUP" "$tcase" + rc=$? - if [[ $rc -ne 0 ]]; then - echo "Unable to start playback for testcase $TEST_GROUP/$tcase, rc=$rc" - exit $rc - fi - - sleep 10 - echo "$TEST_GROUP/$tcase" - result="testing" - # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) - rc=$? - status=$(echo $result | tr -s ' ' | cut -d' ' -f2) - echo "==>" $status - while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; - do + if [[ $rc -ne 0 ]]; then + echo "Unable to start playback for testcase $TEST_GROUP/$tcase, rc=$rc" + exit $rc + fi + + sleep 10 + echo "$TEST_GROUP/$tcase" + result="testing" + # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) + rc=$? + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "==>" $status + while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep 3 result="testing" # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) @@ -183,6 +261,9 @@ echo "testcase is $testcase" # $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c terminate echo "Completed playback of $TEST_GROUP/$tcase status: ${status}" fi + + done + done echo "Finished running $TEST_DIR testcases!" From 0694302753c20bb586ad3de7755e365534ad05c4 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Tue, 24 Jun 2025 09:21:59 -0600 Subject: [PATCH 43/85] Debug Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 8e1ba51006..9a34310615 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -227,7 +227,7 @@ for i in "${active_versions[@]}"; do tcase=${tcase%.html} echo "tcase is $tcase" tgroup=${TEST_GROUP//_/\.} - echo $tgroup + echo "tgroup is $tgroup" # $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql $JOPTIONS -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ALL & From ae983512c7ea6fa5ac4219ddac3dcc39a33a553b Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Tue, 24 Jun 2025 11:49:00 -0600 Subject: [PATCH 44/85] Debug Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 9a34310615..14a51a1127 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -175,13 +175,6 @@ if [ $OSNAME = osx ]; then $OSNAME = "mac" fi -TEST_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests/$STARTING_SCOPE/$TEST_SUB_DIR/interactive -echo "TEST_DIR is $TEST_DIR" -ls -al "$TEST_DIR" -echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION", STARTING_SCOPE is $STARTING_SCOPE, TEST_SUB_DIR is $TEST_SUB_DIR - -echo "Running testcases in $TEST_GROUP on $OSNAME" - cp $JENKINS_HOME/jck_run/arctic/$OSNAME/player.properties . echo "Player properties line is $PPROP_LINE" sed -i "$PPROP_LINE" player.properties @@ -200,14 +193,18 @@ if [ $rc -ne 0 ]; then fi echo "Java under test: $TEST_JDK_HOME" -twm & +# twm & +TOP_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests +TEST_DIR=$TOP_DIR/$STARTING_SCOPE/$TEST_SUB_DIR/interactive +echo "TEST_DIR is $TEST_DIR" +ls -al "$TEST_DIR" +echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION", STARTING_SCOPE is $STARTING_SCOPE, TEST_SUB_DIR is $TEST_SUB_DIR # Loop through files in the target directory for testcase in $TEST_DIR/*; do - -#for (( i = start_index; i < ${#active_versions[@]}; i++ )); do for i in "${active_versions[@]}"; do + testcase=${testcase/"$STARTING_SCOPE"/"$i"} echo "testcase is $testcase" echo "Look for testcases in version: $i" if [ ! -e $testcase ] || [ "$VERSION" -ge "$i" ]; then @@ -215,9 +212,10 @@ for i in "${active_versions[@]}"; do fi if [ -d $testcase ]; then - # Look for Test.json file & Test.link file + # Look for Test.link, if found, read contents to know which testcase to run # if $TEST_DIR "ends with .html": + # Look for Test.json, if found, run # run -TestCaseID ALL #else: # run -TestCaseID From b39455adc6302e53b9a088a94be3c9dcafc0b558 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Tue, 24 Jun 2025 22:11:27 -0600 Subject: [PATCH 45/85] Update targets Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 46 +++++++++++++++-------- jck/interactives/playlist.xml | 12 ++++++ 2 files changed, 42 insertions(+), 16 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 14a51a1127..8c8b33b9fd 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -15,13 +15,13 @@ set +e active_versions=("24" "21" "17" "11" "default") +SLEEP_TIME=5 export LC_ALL=POSIX setupLinuxEnv() { echo "Setup Linux Environment" # Fetch the prebuilt arctic jar (will be pulled from prereq build eventually) - wget -q https://ci.adoptium.net/job/Build_Arctic/5/artifact/upload/arctic-0.8.1.jar - mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar + # wget -q https://ci.adoptium.net/job/Build_Arctic/5/artifact/upload/arctic-0.8.1.jar # Set environment variables, makes the assumption that JDK21 is the default java in /usr/bin/java export ARCTIC_JDK=/usr/bin/java @@ -144,7 +144,7 @@ JOPTIONS="-Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsu if [ $(uname) = Linux ]; then JENKINS_HOME=/home/jenkins - PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/mac/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/linux/arctic_tests#g' setupLinuxEnv elif [ $(uname) = Darwin ]; then @@ -154,7 +154,7 @@ elif [ $(uname) = Darwin ]; then elif [ $(uname) = Windows_NT ]; then JENKINS_HOME = "c:/Users/jenkins" - PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/mac/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/windows/arctic_tests#g' setupWindowsEnv fi @@ -175,6 +175,16 @@ if [ $OSNAME = osx ]; then $OSNAME = "mac" fi +if [ $PLATFORM = "ppc64le_linux" ]; then + wget -q https://ci.adoptium.net/job/Build_Arctic_ppc64le_linux/lastSuccessfulBuild/artifact/upload/arctic-0.8.1.jar +elif [ $PLATFORM = "s390x_linux" ]; then + wget -q https://ci.adoptium.net/job/Build_Arctic_s390x_linux/lastSuccessfulBuild/artifact/upload/arctic-0.8.1.jar +else + wget -q https://ci.adoptium.net/job/Build_Arctic/lastSuccessfulBuild/artifact/upload/arctic-0.8.1.jar +fi + +mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar + cp $JENKINS_HOME/jck_run/arctic/$OSNAME/player.properties . echo "Player properties line is $PPROP_LINE" sed -i "$PPROP_LINE" player.properties @@ -212,14 +222,6 @@ for i in "${active_versions[@]}"; do fi if [ -d $testcase ]; then - # Look for Test.link, if found, read contents to know which testcase to run - - # if $TEST_DIR "ends with .html": - # Look for Test.json, if found, run - # run -TestCaseID ALL - #else: - # run -TestCaseID - echo "Starting testcase... $testcase" tcase=${testcase##*/} tcase=${tcase%.html} @@ -227,9 +229,21 @@ for i in "${active_versions[@]}"; do tgroup=${TEST_GROUP//_/\.} echo "tgroup is $tgroup" - # $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql $JOPTIONS -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ALL & + TESTCASE_ID="ALL" + ARCTIC_TESTCASE=$tcase + if ($tcase.endsWith(".html")) { + TEST_HTML=params.TESTCASE + } else if ($tcase.contains(".html/")) { + TEST_HTML=params.TESTCASE.substring(0, params.TESTCASE.indexOf(".html")+5) + TESTCASE_ID=params.TESTCASE.substring(params.TESTCASE.indexOf(".html")+6) + ARCTIC_TESTCASE=TEST_HTML+"/"+TESTCASE_ID + } else { + TEST_HTML=params.TESTCASE + } + + # $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql $JOPTIONS -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ${TESTCASE_ID} & - sleep 10 + sleep $SLEEP_TIME echo "Running testcase $testcase" # $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "api/$TEST_GROUP" "$tcase" rc=$? @@ -239,7 +253,7 @@ for i in "${active_versions[@]}"; do exit $rc fi - sleep 10 + sleep $SLEEP_TIME echo "$TEST_GROUP/$tcase" result="testing" # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) @@ -247,7 +261,7 @@ for i in "${active_versions[@]}"; do status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do - sleep 3 + sleep $SLEEP_TIME result="testing" # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) rc=$? diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index dcf93fe6b3..a220407a6d 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -42,6 +42,12 @@ $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION} api/java/awt ${JCK_VERSION_NUMBER}; \ $(TEST_STATUS) + + + N/A for AIX and Solaris platforms + ppc64_aix|sparcv9_solaris|x86-64_solaris + + dev @@ -57,6 +63,12 @@ $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh javax_swing ${PLATFORM} ${JDK_VERSION} api/javax/swing ${JCK_VERSION_NUMBER}; \ $(TEST_STATUS) + + + N/A for AIX and Solaris platforms + ppc64_aix|sparcv9_solaris|x86-64_solaris + + dev From e4d4ca8e2edfd01007d0b508b4adec9989898034 Mon Sep 17 00:00:00 2001 From: Shelley Lambert Date: Tue, 24 Jun 2025 23:05:05 -0600 Subject: [PATCH 46/85] Bash Signed-off-by: Shelley Lambert --- jck/interactives/arctic_tests/runTests.sh | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 8c8b33b9fd..2d02c40567 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -231,15 +231,14 @@ for i in "${active_versions[@]}"; do TESTCASE_ID="ALL" ARCTIC_TESTCASE=$tcase - if ($tcase.endsWith(".html")) { - TEST_HTML=params.TESTCASE - } else if ($tcase.contains(".html/")) { - TEST_HTML=params.TESTCASE.substring(0, params.TESTCASE.indexOf(".html")+5) - TESTCASE_ID=params.TESTCASE.substring(params.TESTCASE.indexOf(".html")+6) - ARCTIC_TESTCASE=TEST_HTML+"/"+TESTCASE_ID - } else { - TEST_HTML=params.TESTCASE - } + if [[ "$tcase" == "*.html" ]]; then + #TEST_HTML=S + elif [[ "$tcase" == "*.html/" ]]; then + #TEST_HTML=params.TESTCASE.substring(0, params.TESTCASE.indexOf(".html")+5) + #TESTCASE_ID=params.TESTCASE.substring(params.TESTCASE.indexOf(".html")+6) + #ARCTIC_TESTCASE=TEST_HTML+"/"+TESTCASE_ID + else + TEST_HTML=$tcase # $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql $JOPTIONS -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ${TESTCASE_ID} & From 67223ff576df073ff82e1d624e8bad3858005f5d Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 11:36:47 +0100 Subject: [PATCH 47/85] Update runtests.shw Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 240 +++++++++++++++------- jck/interactives/playlist.xml | 6 +- 2 files changed, 172 insertions(+), 74 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 2d02c40567..6cabb03d8c 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -171,6 +171,14 @@ if [ $VERSION -eq 8 ]; then STARTING_SCOPE="default" fi +JCK_VER=$VERSION +if [[ $VERSION == "8" ]]; then + JCK_VER="${VERSION}d" +elif [[ $VERSION == "11" ]] || [[ $VERSION == "17" ]]; then + JCK_VER+"${VERSION}a" +} +JCK_MATERIAL="$JENKINS_HOME/jck_root/JCK${VERSION}-unzipped/JCK-runtime-${JCK_VER}" + if [ $OSNAME = osx ]; then $OSNAME = "mac" fi @@ -205,84 +213,174 @@ fi echo "Java under test: $TEST_JDK_HOME" # twm & TOP_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests -TEST_DIR=$TOP_DIR/$STARTING_SCOPE/$TEST_SUB_DIR/interactive -echo "TEST_DIR is $TEST_DIR" -ls -al "$TEST_DIR" -echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION", STARTING_SCOPE is $STARTING_SCOPE, TEST_SUB_DIR is $TEST_SUB_DIR - -# Loop through files in the target directory -for testcase in $TEST_DIR/*; do +echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION, STARTING_SCOPE is $STARTING_SCOPE" +FOUND_TESTS=() for i in "${active_versions[@]}"; do - testcase=${testcase/"$STARTING_SCOPE"/"$i"} - echo "testcase is $testcase" - echo "Look for testcases in version: $i" - if [ ! -e $testcase ] || [ "$VERSION" -ge "$i" ]; then - continue - fi - - if [ -d $testcase ]; then - echo "Starting testcase... $testcase" - tcase=${testcase##*/} - tcase=${tcase%.html} - echo "tcase is $tcase" - tgroup=${TEST_GROUP//_/\.} - echo "tgroup is $tgroup" - - TESTCASE_ID="ALL" - ARCTIC_TESTCASE=$tcase - if [[ "$tcase" == "*.html" ]]; then - #TEST_HTML=S - elif [[ "$tcase" == "*.html/" ]]; then - #TEST_HTML=params.TESTCASE.substring(0, params.TESTCASE.indexOf(".html")+5) - #TESTCASE_ID=params.TESTCASE.substring(params.TESTCASE.indexOf(".html")+6) - #ARCTIC_TESTCASE=TEST_HTML+"/"+TESTCASE_ID - else - TEST_HTML=$tcase - - # $TEST_JDK_HOME/bin/java --enable-preview --add-modules java.xml.crypto,java.sql $JOPTIONS -classpath :$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/classes: -Djava.security.policy=$JENKINS_HOME/jck_root/JCK$VERSION-unzipped/JCK-runtime-$JCK_VERSION_NUMBER/lib/jck.policy javasoft.sqe.tests.api.$tgroup.interactive.$tcase -TestCaseID ${TESTCASE_ID} & - - sleep $SLEEP_TIME - echo "Running testcase $testcase" - # $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "api/$TEST_GROUP" "$tcase" - rc=$? - - if [[ $rc -ne 0 ]]; then - echo "Unable to start playback for testcase $TEST_GROUP/$tcase, rc=$rc" - exit $rc + if [[ "$i" == "default" ]] || [[ "$i" -le "${VERSION}" ]]; then + START_DIR="${TOP_DIR}/${i}/${GROUP}" + + TEST_JSON_FILES=$(find ${START_DIR} -type f -name 'Test.json' -o -name 'Test.link') + for f in $TEST_JSON_FILES + do + echo "Test file: ${f}" + + # Determine Arctic testcase name from folder + test_name="$(dirname "$f")" + test_basename="$(basename "$f")" + ARCTIC_TESTCASE=${test_name/$START_DIR//} + ARCTIC_TESTCASE=${ARCTIC_TESTCASE/\/\//} + + # Is testcase recording ending in .html (ALL), or not(TESTCASE_ID) + if [[ "$ARCTIC_TESTCASE" == *.html ]]; then + JCK_TESTCASE="${ARCTIC_TESTCASE}" + JCK_TEST="ALL" + elif [[ "$ARCTIC_TESTCASE" == *.html/* ]]; then + JCK_TESTCASE="$(dirname "$ARCTIC_TESTCASE")" + JCK_TEST="$(basename "$ARCTIC_TESTCASE")" + else + JCK_TESTCASE="" + fi + + # Is this a recording link? in which case point at target recording within Test.link file + if [[ "$test_basename" == "Test.link" ]]; then + ARCTIC_TESTCASE=$(cat $f) + # Update JCK_TEST for link + if [[ "$ARCTIC_TESTCASE" == *.html ]]; then + JCK_TEST="ALL" + elif [[ "$ARCTIC_TESTCASE" == *.html/* ]]; then + JCK_TEST="$(basename "$ARCTIC_TESTCASE")" fi + fi + + if [[ -n "${JCK_TESTCASE}" ]]; then + HTML_FILE="${JCK_MATERIAL}/tests/${GROUP}/${JCK_TESTCASE}" + # Does JCK testcase exist for this VERSION ? + if [[ -e "${HTML_FILE}" ]]; then + FOUND=false + for test in "${FOUND_TESTS[@]}" + do + if [[ "$test" == "$ARCTIC_TESTCASE" ]]; then + FOUND=true + fi + done + + if [[ $FOUND == false ]]; then + FOUND_TESTS+=("${ARCTIC_TESTCASE}") + + # Get class name from JCK .html + TEST_CLASS=$(grep "javasoft.sqe.tests" ${HTML_FILE} | head -1 | sed -e 's/ //g' -e 's/<[^>]*>//g') + + echo "==> JCK Test exists: $HTML_FILE" + echo " Running:" + echo " Testcase ${JCK_TEST} of scope ${i} ${GROUP} ${ARCTIC_TESTCASE}" + echo " JCK class: ${TEST_CLASS}" + + TEST_CMDLINE="java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${GROUP}/${JCK_TESTCASE} -TestCaseID ${TESTCASE_ID}" + + # Certain tests require extra options + if [[ "${ARCTIC_TESTCASE}" ~= *PageDialog* ]] || [[ "${ARCTIC_TESTCASE}" ~= *Print* ]]; then + TEST_CMDLINE="${TEST_CMDLINE} -platform.hasPrinter true" + fi + if [[ "${ARCTIC_TESTCASE}" ~= *Robot* ]]; then + TEST_CMDLINE="${TEST_CMDLINE} -platform.robotAvailable true" + fi + echo "EXECUTING: ${TEST_CMDLINE}" + + # Start TESTCASE... + echo "${TEST_JDK_HOME}/bin/${TEST_CMDLINE} &" + # Force failure FFFF for the moment... + ${TEST_JDK_HOME}/binFFFFFF/${TEST_CMDLINE} & + test_pid=$! + echo "Testcase started process $test_pid" - sleep $SLEEP_TIME - echo "$TEST_GROUP/$tcase" - result="testing" - # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) - rc=$? - status=$(echo $result | tr -s ' ' | cut -d' ' -f2) - echo "==>" $status - while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep $SLEEP_TIME - result="testing" - # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$tcase) - rc=$? - status=$(echo $result | tr -s ' ' | cut -d' ' -f2) - echo "==>" $status - done - - echo "Terminating Arctic CLI..." - # $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c terminate - echo "Completed playback of $TEST_GROUP/$tcase status: ${status}" - fi + # Check testcase started successfully. + ps -p $test_pid -o pid 2>/dev/null 1>&2 + if [[ $? != 0 ]]; then + echo "ERROR: Test class failed prior to playback." + else + # Testcase started, start Arctic playback... + sleep $SLEEP_TIME + echo "Starting Arctic: testcase $GROUP $ARCTIC_TESTCASE" + # $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "$GROUP" "$ARCTIC_TESTCASE" + rc=$? + + if [[ $rc -ne 0 ]]; then + echo "Unable to start playback for testcase $GROUP/$ARCTIC_TESTCASE, rc=$rc" + exit $rc + fi + + sleep $SLEEP_TIME + echo "$GROUP/$ARCTIC_TESTCASE" + result="testing" + # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) + rc=$? + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "==>" $status + while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do + sleep $SLEEP_TIME + result="testing" + # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) + rc=$? + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "==>" $status + done + + sleep $SLEEP_TIME + + echo "Testcase process $test_pid should have finished if successfully automated, getting test process completion status..." + if ps -p $test_pid -o pid; then + echo "ERROR: Testcase process $test_pid is still running... terminating!" + kill -9 $test_pid + fi + wait $test_pid + test_exit_status=$? + echo "Testcase exited with completion status = ${test_exit_status}" + echo "Testcase Arctic status = ${status}" + + # Finish Arctic TESTCASE session + # NOTE: PASSED == 95 for jtharness test status, javatest CLI will be "0" ! + success=false + if [[ $status == "UNCONFIRMED" ]] && [[ $test_exit_status == 95 ]]; then + ${ARCTIC_JDK} -jar ./arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" true + success=true + else + ${ARCTIC_JDK} -jar ./arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" false + fi + + # Get final Arctic status + result=$(${ARCTIC_JDK} -jar ./arctic.jar -c test list ${GROUP}/${ARCTIC_TESTCASE}) + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "Arctic final completion status ==>" $status + + echo "Saving Arctic session..." + session_file=$(echo ${GROUP}/${ARCTIC_TESTCASE}.session | tr "/" "_") + ${ARCTIC_JDK} -jar ./arctic.jar -c session save ${session_file} + + echo "Printing Arctic session info..." + ${ARCTIC_JDK} -jar ./arctic.jar -c session print + + echo "Terminating Arctic CLI..." + ${ARCTIC_JDK} -jar ./arctic.jar -c terminate + + echo "Completed playback of ${GROUP}/${ARCTIC_TESTCASE} status: ${status}" + + # Clean processes before exit... + kill $test_pid 2>/dev/null + + if [[ $success == true ]]; then + echo "Arctic playback successful" + else + echo "Arctic playback failed" + fi + fi + fi + fi done - + fi done -echo "Finished running $TEST_DIR testcases!" +echo "Finished running testcases!" -if [[ $status != "UNCONFIRMED" ]]; then - echo "Arctic playback failed" - exit 1 -else - echo "Arctic playback successful" - exit 0 -fi \ No newline at end of file diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index a220407a6d..4f5a094898 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -39,7 +39,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION} api/java/awt ${JCK_VERSION_NUMBER}; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION} api/java_awt ${JCK_VERSION_NUMBER}; \ $(TEST_STATUS) @@ -60,7 +60,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh javax_swing ${PLATFORM} ${JDK_VERSION} api/javax/swing ${JCK_VERSION_NUMBER}; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh javax_swing ${PLATFORM} ${JDK_VERSION} api/javax_swing ${JCK_VERSION_NUMBER}; \ $(TEST_STATUS) @@ -76,4 +76,4 @@ jck - \ No newline at end of file + From 9b694499dee58cfb149ff0a30ea71186649d12d5 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 11:43:32 +0100 Subject: [PATCH 48/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 6cabb03d8c..e8e153624e 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -175,8 +175,8 @@ JCK_VER=$VERSION if [[ $VERSION == "8" ]]; then JCK_VER="${VERSION}d" elif [[ $VERSION == "11" ]] || [[ $VERSION == "17" ]]; then - JCK_VER+"${VERSION}a" -} + JCK_VER="${VERSION}a" +fi JCK_MATERIAL="$JENKINS_HOME/jck_root/JCK${VERSION}-unzipped/JCK-runtime-${JCK_VER}" if [ $OSNAME = osx ]; then From 5e9d92cfc1982f74792b69a60295ca822866cf90 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 11:51:16 +0100 Subject: [PATCH 49/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index e8e153624e..b6e144899b 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -179,7 +179,7 @@ elif [[ $VERSION == "11" ]] || [[ $VERSION == "17" ]]; then fi JCK_MATERIAL="$JENKINS_HOME/jck_root/JCK${VERSION}-unzipped/JCK-runtime-${JCK_VER}" -if [ $OSNAME = osx ]; then +if [ $OSNAME = "osx" ]; then $OSNAME = "mac" fi From 9d0bfe296574d61aa69a81a232ec498b23f81748 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 12:14:53 +0100 Subject: [PATCH 50/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index b6e144899b..28bac59819 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -179,10 +179,6 @@ elif [[ $VERSION == "11" ]] || [[ $VERSION == "17" ]]; then fi JCK_MATERIAL="$JENKINS_HOME/jck_root/JCK${VERSION}-unzipped/JCK-runtime-${JCK_VER}" -if [ $OSNAME = "osx" ]; then - $OSNAME = "mac" -fi - if [ $PLATFORM = "ppc64le_linux" ]; then wget -q https://ci.adoptium.net/job/Build_Arctic_ppc64le_linux/lastSuccessfulBuild/artifact/upload/arctic-0.8.1.jar elif [ $PLATFORM = "s390x_linux" ]; then From 32226a0ad11062f072eba662183c521e7fbc63fc Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 12:21:34 +0100 Subject: [PATCH 51/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 28bac59819..6df2e8db58 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -143,17 +143,17 @@ setupWindowsEnv() { JOPTIONS="-Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsun.rmi.activation.execPolicy=none -Djdk.xml.maxXMLNameLimit=4000" if [ $(uname) = Linux ]; then - JENKINS_HOME=/home/jenkins + JENKINS_HOME_DIR=/home/jenkins PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/linux/arctic_tests#g' setupLinuxEnv elif [ $(uname) = Darwin ]; then - JENKINS_HOME = "/Users/jenkins" + JENKINS_HOME_DIR = "/Users/jenkins" PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /Users/jenkins/jck_run/arctic/mac/arctic_tests#g' setupMacEnv elif [ $(uname) = Windows_NT ]; then - JENKINS_HOME = "c:/Users/jenkins" + JENKINS_HOME_DIR = "c:/Users/jenkins" PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/windows/arctic_tests#g' setupWindowsEnv @@ -171,13 +171,17 @@ if [ $VERSION -eq 8 ]; then STARTING_SCOPE="default" fi +if [ $OSNAME = "osx" ]; then + OSNAME = "mac" +fi + JCK_VER=$VERSION if [[ $VERSION == "8" ]]; then JCK_VER="${VERSION}d" elif [[ $VERSION == "11" ]] || [[ $VERSION == "17" ]]; then JCK_VER="${VERSION}a" fi -JCK_MATERIAL="$JENKINS_HOME/jck_root/JCK${VERSION}-unzipped/JCK-runtime-${JCK_VER}" +JCK_MATERIAL="$JENKINS_HOME_DIR/jck_root/JCK${VERSION}-unzipped/JCK-runtime-${JCK_VER}" if [ $PLATFORM = "ppc64le_linux" ]; then wget -q https://ci.adoptium.net/job/Build_Arctic_ppc64le_linux/lastSuccessfulBuild/artifact/upload/arctic-0.8.1.jar @@ -189,7 +193,7 @@ fi mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar -cp $JENKINS_HOME/jck_run/arctic/$OSNAME/player.properties . +cp $JENKINS_HOME_DIR/jck_run/arctic/$OSNAME/player.properties . echo "Player properties line is $PPROP_LINE" sed -i "$PPROP_LINE" player.properties @@ -208,7 +212,7 @@ fi echo "Java under test: $TEST_JDK_HOME" # twm & -TOP_DIR=$JENKINS_HOME/jck_run/arctic/$OSNAME/arctic_tests +TOP_DIR=$JENKINS_HOME_DIR/jck_run/arctic/$OSNAME/arctic_tests echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION, STARTING_SCOPE is $STARTING_SCOPE" FOUND_TESTS=() From 2767394342bdff24156864d001760e5539022c5d Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 12:25:27 +0100 Subject: [PATCH 52/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 6df2e8db58..3c5acf56f7 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -148,12 +148,12 @@ if [ $(uname) = Linux ]; then setupLinuxEnv elif [ $(uname) = Darwin ]; then - JENKINS_HOME_DIR = "/Users/jenkins" + JENKINS_HOME_DIR="/Users/jenkins" PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /Users/jenkins/jck_run/arctic/mac/arctic_tests#g' setupMacEnv elif [ $(uname) = Windows_NT ]; then - JENKINS_HOME_DIR = "c:/Users/jenkins" + JENKINS_HOME_DIR="c:/Users/jenkins" PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/windows/arctic_tests#g' setupWindowsEnv From 85b3a1a0feff6789da5472bdf14d55fe4543fac7 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 12:28:55 +0100 Subject: [PATCH 53/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 3c5acf56f7..bb2ce1516b 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -172,7 +172,7 @@ if [ $VERSION -eq 8 ]; then fi if [ $OSNAME = "osx" ]; then - OSNAME = "mac" + OSNAME="mac" fi JCK_VER=$VERSION From e77895a55753484072382e7a84f6d838660398f3 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 12:37:59 +0100 Subject: [PATCH 54/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index bb2ce1516b..0c3f87a38f 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -144,7 +144,7 @@ JOPTIONS="-Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsu if [ $(uname) = Linux ]; then JENKINS_HOME_DIR=/home/jenkins - PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/linux/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/linux/arctic_tests#g' setupLinuxEnv elif [ $(uname) = Darwin ]; then @@ -154,7 +154,7 @@ elif [ $(uname) = Darwin ]; then elif [ $(uname) = Windows_NT ]; then JENKINS_HOME_DIR="c:/Users/jenkins" - PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/windows/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/windows/arctic_tests#g' setupWindowsEnv fi @@ -195,7 +195,11 @@ mv arctic-0.8.1.jar ${LIB_DIR}/arctic.jar cp $JENKINS_HOME_DIR/jck_run/arctic/$OSNAME/player.properties . echo "Player properties line is $PPROP_LINE" -sed -i "$PPROP_LINE" player.properties +if [ $OSNAME = "mac" ]; then + sed -i '' "$PPROP_LINE" player.properties +else + sed -i "$PPROP_LINE" player.properties +fi if [ ! -f ${LIB_DIR}/arctic.jar ]; then echo "arctic.jar not present" From 78c879efc5a7ca063ea20e0ee9a070ce64d73c9d Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 12:42:47 +0100 Subject: [PATCH 55/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 0c3f87a38f..79b55219ba 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -283,10 +283,10 @@ for i in "${active_versions[@]}"; do TEST_CMDLINE="java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${GROUP}/${JCK_TESTCASE} -TestCaseID ${TESTCASE_ID}" # Certain tests require extra options - if [[ "${ARCTIC_TESTCASE}" ~= *PageDialog* ]] || [[ "${ARCTIC_TESTCASE}" ~= *Print* ]]; then + if [[ "${ARCTIC_TESTCASE}" =~ *PageDialog* ]] || [[ "${ARCTIC_TESTCASE}" =~ *Print* ]]; then TEST_CMDLINE="${TEST_CMDLINE} -platform.hasPrinter true" fi - if [[ "${ARCTIC_TESTCASE}" ~= *Robot* ]]; then + if [[ "${ARCTIC_TESTCASE}" =~ *Robot* ]]; then TEST_CMDLINE="${TEST_CMDLINE} -platform.robotAvailable true" fi echo "EXECUTING: ${TEST_CMDLINE}" From 341d77939004e0e641fbe52b5b58e587ad9717ad Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 12:48:29 +0100 Subject: [PATCH 56/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 79b55219ba..b985537a0c 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -379,6 +379,7 @@ for i in "${active_versions[@]}"; do else echo "Arctic playback failed" fi + fi fi fi fi From 0ae6e9d572c31b08a111837aa52d16df55d35ecf Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 12:57:22 +0100 Subject: [PATCH 57/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index b985537a0c..93e542c0e5 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -219,6 +219,7 @@ echo "Java under test: $TEST_JDK_HOME" TOP_DIR=$JENKINS_HOME_DIR/jck_run/arctic/$OSNAME/arctic_tests echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION, STARTING_SCOPE is $STARTING_SCOPE" +overallSuccess=true FOUND_TESTS=() for i in "${active_versions[@]}"; do if [[ "$i" == "default" ]] || [[ "$i" -le "${VERSION}" ]]; then @@ -280,7 +281,7 @@ for i in "${active_versions[@]}"; do echo " Testcase ${JCK_TEST} of scope ${i} ${GROUP} ${ARCTIC_TESTCASE}" echo " JCK class: ${TEST_CLASS}" - TEST_CMDLINE="java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${GROUP}/${JCK_TESTCASE} -TestCaseID ${TESTCASE_ID}" + TEST_CMDLINE="${TEST_JDK_HOME}/bin/java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${GROUP}/${JCK_TESTCASE} -TestCaseID ${TESTCASE_ID}" # Certain tests require extra options if [[ "${ARCTIC_TESTCASE}" =~ *PageDialog* ]] || [[ "${ARCTIC_TESTCASE}" =~ *Print* ]]; then @@ -292,7 +293,6 @@ for i in "${active_versions[@]}"; do echo "EXECUTING: ${TEST_CMDLINE}" # Start TESTCASE... - echo "${TEST_JDK_HOME}/bin/${TEST_CMDLINE} &" # Force failure FFFF for the moment... ${TEST_JDK_HOME}/binFFFFFF/${TEST_CMDLINE} & test_pid=$! @@ -369,15 +369,13 @@ for i in "${active_versions[@]}"; do echo "Terminating Arctic CLI..." ${ARCTIC_JDK} -jar ./arctic.jar -c terminate - echo "Completed playback of ${GROUP}/${ARCTIC_TESTCASE} status: ${status}" + echo "Completed playback of ${GROUP}/${ARCTIC_TESTCASE} status: ${status} success: ${success}" # Clean processes before exit... kill $test_pid 2>/dev/null - if [[ $success == true ]]; then - echo "Arctic playback successful" - else - echo "Arctic playback failed" + if [[ $success != true ]]; then + overallSuccess=false fi fi fi @@ -387,5 +385,13 @@ for i in "${active_versions[@]}"; do fi done -echo "Finished running testcases!" +echo "Finished running testcases, overallSuccess = $overallSuccess" + +if [[ $overallSuccess != true ]]; then + echo "Arctic playback failed" + exit 1 +else + echo "Arctic playback successful" + exit 0 +fi From 076e6085a23a7081e1c3c39b8fd8274fb305e83c Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 13:04:06 +0100 Subject: [PATCH 58/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 130 +++++++++++----------- 1 file changed, 68 insertions(+), 62 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 93e542c0e5..12e555ecd5 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -211,6 +211,9 @@ echo "Starting player in background with RMI..." rc=$? if [ $rc -ne 0 ]; then echo "Unable to start Arctic player, rc=$rc" + if [[ -n $twm_pid ]]; then + kill $twm_pid 2>/dev/null + fi exit $rc fi @@ -313,69 +316,68 @@ for i in "${active_versions[@]}"; do if [[ $rc -ne 0 ]]; then echo "Unable to start playback for testcase $GROUP/$ARCTIC_TESTCASE, rc=$rc" - exit $rc - fi - - sleep $SLEEP_TIME - echo "$GROUP/$ARCTIC_TESTCASE" - result="testing" - # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) - rc=$? - status=$(echo $result | tr -s ' ' | cut -d' ' -f2) - echo "==>" $status - while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do - sleep $SLEEP_TIME - result="testing" - # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) - rc=$? - status=$(echo $result | tr -s ' ' | cut -d' ' -f2) - echo "==>" $status - done - - sleep $SLEEP_TIME - - echo "Testcase process $test_pid should have finished if successfully automated, getting test process completion status..." - if ps -p $test_pid -o pid; then - echo "ERROR: Testcase process $test_pid is still running... terminating!" - kill -9 $test_pid - fi - wait $test_pid - test_exit_status=$? - echo "Testcase exited with completion status = ${test_exit_status}" - echo "Testcase Arctic status = ${status}" - - # Finish Arctic TESTCASE session - # NOTE: PASSED == 95 for jtharness test status, javatest CLI will be "0" ! - success=false - if [[ $status == "UNCONFIRMED" ]] && [[ $test_exit_status == 95 ]]; then - ${ARCTIC_JDK} -jar ./arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" true - success=true else - ${ARCTIC_JDK} -jar ./arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" false - fi - - # Get final Arctic status - result=$(${ARCTIC_JDK} -jar ./arctic.jar -c test list ${GROUP}/${ARCTIC_TESTCASE}) - status=$(echo $result | tr -s ' ' | cut -d' ' -f2) - echo "Arctic final completion status ==>" $status - - echo "Saving Arctic session..." - session_file=$(echo ${GROUP}/${ARCTIC_TESTCASE}.session | tr "/" "_") - ${ARCTIC_JDK} -jar ./arctic.jar -c session save ${session_file} - - echo "Printing Arctic session info..." - ${ARCTIC_JDK} -jar ./arctic.jar -c session print - - echo "Terminating Arctic CLI..." - ${ARCTIC_JDK} -jar ./arctic.jar -c terminate - - echo "Completed playback of ${GROUP}/${ARCTIC_TESTCASE} status: ${status} success: ${success}" - - # Clean processes before exit... - kill $test_pid 2>/dev/null - - if [[ $success != true ]]; then - overallSuccess=false + sleep $SLEEP_TIME + echo "$GROUP/$ARCTIC_TESTCASE" + result="testing" + # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) + rc=$? + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "==>" $status + while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do + sleep $SLEEP_TIME + result="testing" + # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) + rc=$? + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "==>" $status + done + + sleep $SLEEP_TIME + + echo "Testcase process $test_pid should have finished if successfully automated, getting test process completion status..." + if ps -p $test_pid -o pid; then + echo "ERROR: Testcase process $test_pid is still running... terminating!" + kill -9 $test_pid + fi + wait $test_pid + test_exit_status=$? + echo "Testcase exited with completion status = ${test_exit_status}" + echo "Testcase Arctic status = ${status}" + + # Finish Arctic TESTCASE session + # NOTE: PASSED == 95 for jtharness test status, javatest CLI will be "0" ! + success=false + if [[ $status == "UNCONFIRMED" ]] && [[ $test_exit_status == 95 ]]; then + ${ARCTIC_JDK} -jar ./arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" true + success=true + else + ${ARCTIC_JDK} -jar ./arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" false + fi + + # Get final Arctic status + result=$(${ARCTIC_JDK} -jar ./arctic.jar -c test list ${GROUP}/${ARCTIC_TESTCASE}) + status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + echo "Arctic final completion status ==>" $status + + echo "Saving Arctic session..." + session_file=$(echo ${GROUP}/${ARCTIC_TESTCASE}.session | tr "/" "_") + ${ARCTIC_JDK} -jar ./arctic.jar -c session save ${session_file} + + echo "Printing Arctic session info..." + ${ARCTIC_JDK} -jar ./arctic.jar -c session print + + echo "Terminating Arctic CLI..." + ${ARCTIC_JDK} -jar ./arctic.jar -c terminate + + echo "Completed playback of ${GROUP}/${ARCTIC_TESTCASE} status: ${status} success: ${success}" + + # Clean processes before exit... + kill $test_pid 2>/dev/null + + if [[ $success != true ]]; then + overallSuccess=false + fi fi fi fi @@ -385,6 +387,10 @@ for i in "${active_versions[@]}"; do fi done +if [[ -n $twm_pid ]]; then + kill $twm_pid 2>/dev/null +fi + echo "Finished running testcases, overallSuccess = $overallSuccess" if [[ $overallSuccess != true ]]; then From c41645c8293c74aacc5e44a4ab94e0031a1f0f8c Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 13:11:59 +0100 Subject: [PATCH 59/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 12e555ecd5..efcf2b8034 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -296,17 +296,28 @@ for i in "${active_versions[@]}"; do echo "EXECUTING: ${TEST_CMDLINE}" # Start TESTCASE... - # Force failure FFFF for the moment... - ${TEST_JDK_HOME}/binFFFFFF/${TEST_CMDLINE} & - test_pid=$! - echo "Testcase started process $test_pid" + + # Only run ListTests for the moment!! + skipped=false + if [[ $ARCTIC_TESTCASE =~ *ListTests* ]]; then + ${TEST_CMDLINE} & + test_pid=$! + echo "Testcase started process $test_pid" + else + echo "Skipping: $GROUP $ARCTIC_TESTCASE" + test_pid=-1 + skipped=true + fi sleep $SLEEP_TIME # Check testcase started successfully. ps -p $test_pid -o pid 2>/dev/null 1>&2 if [[ $? != 0 ]]; then - echo "ERROR: Test class failed prior to playback." + if [[ $skipped == false ]]; then + echo "ERROR: Test class failed prior to playback." + overallSuccess=false + fi else # Testcase started, start Arctic playback... sleep $SLEEP_TIME From d35bc33eb67dda12e68af955c514ce955905a97d Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 13:26:17 +0100 Subject: [PATCH 60/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index efcf2b8034..1a85b21da7 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -284,7 +284,7 @@ for i in "${active_versions[@]}"; do echo " Testcase ${JCK_TEST} of scope ${i} ${GROUP} ${ARCTIC_TESTCASE}" echo " JCK class: ${TEST_CLASS}" - TEST_CMDLINE="${TEST_JDK_HOME}/bin/java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${GROUP}/${JCK_TESTCASE} -TestCaseID ${TESTCASE_ID}" + TEST_CMDLINE="${TEST_JDK_HOME}/bin/java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${GROUP}/${JCK_TESTCASE} -TestCaseID ${JCK_TEST}" # Certain tests require extra options if [[ "${ARCTIC_TESTCASE}" =~ *PageDialog* ]] || [[ "${ARCTIC_TESTCASE}" =~ *Print* ]]; then @@ -299,7 +299,7 @@ for i in "${active_versions[@]}"; do # Only run ListTests for the moment!! skipped=false - if [[ $ARCTIC_TESTCASE =~ *ListTests* ]]; then + if [[ "$ARCTIC_TESTCASE" =~ *ListTests* ]]; then ${TEST_CMDLINE} & test_pid=$! echo "Testcase started process $test_pid" From 87b1a5faec2952a3524e921b97eb95c701441575 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 13:39:04 +0100 Subject: [PATCH 61/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 1a85b21da7..8f7882ec50 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -287,10 +287,10 @@ for i in "${active_versions[@]}"; do TEST_CMDLINE="${TEST_JDK_HOME}/bin/java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${GROUP}/${JCK_TESTCASE} -TestCaseID ${JCK_TEST}" # Certain tests require extra options - if [[ "${ARCTIC_TESTCASE}" =~ *PageDialog* ]] || [[ "${ARCTIC_TESTCASE}" =~ *Print* ]]; then + if [[ "${ARCTIC_TESTCASE}" =~ .*PageDialog.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*Print.* ]]; then TEST_CMDLINE="${TEST_CMDLINE} -platform.hasPrinter true" fi - if [[ "${ARCTIC_TESTCASE}" =~ *Robot* ]]; then + if [[ "${ARCTIC_TESTCASE}" =~ .*Robot.* ]]; then TEST_CMDLINE="${TEST_CMDLINE} -platform.robotAvailable true" fi echo "EXECUTING: ${TEST_CMDLINE}" @@ -299,7 +299,7 @@ for i in "${active_versions[@]}"; do # Only run ListTests for the moment!! skipped=false - if [[ "$ARCTIC_TESTCASE" =~ *ListTests* ]]; then + if [[ "${ARCTIC_TESTCASE}" =~ .*ListTests.* ]]; then ${TEST_CMDLINE} & test_pid=$! echo "Testcase started process $test_pid" From 0c1bc6d27a3649c4e859bc6b245e76c55794dbac Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 13:47:54 +0100 Subject: [PATCH 62/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 8f7882ec50..af63fcae49 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -69,6 +69,9 @@ setupLinuxEnv() { setupMacEnv() { export AWT_FORCE_HEADFUL=true echo "Setup Mac Environment" + + export ARCTIC_JDK=/usr/bin/java + cat < JMinWindows.java import java.awt.Robot; import java.awt.event.KeyEvent; @@ -207,7 +210,7 @@ if [ ! -f ${LIB_DIR}/arctic.jar ]; then fi echo "Starting player in background with RMI..." -# $ARCTIC_JDK -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & +$ARCTIC_JDK -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & rc=$? if [ $rc -ne 0 ]; then echo "Unable to start Arctic player, rc=$rc" @@ -322,7 +325,7 @@ for i in "${active_versions[@]}"; do # Testcase started, start Arctic playback... sleep $SLEEP_TIME echo "Starting Arctic: testcase $GROUP $ARCTIC_TESTCASE" - # $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "$GROUP" "$ARCTIC_TESTCASE" + $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "$GROUP" "$ARCTIC_TESTCASE" rc=$? if [[ $rc -ne 0 ]]; then @@ -330,15 +333,13 @@ for i in "${active_versions[@]}"; do else sleep $SLEEP_TIME echo "$GROUP/$ARCTIC_TESTCASE" - result="testing" - # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep $SLEEP_TIME - result="testing" - # result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status @@ -378,9 +379,6 @@ for i in "${active_versions[@]}"; do echo "Printing Arctic session info..." ${ARCTIC_JDK} -jar ./arctic.jar -c session print - echo "Terminating Arctic CLI..." - ${ARCTIC_JDK} -jar ./arctic.jar -c terminate - echo "Completed playback of ${GROUP}/${ARCTIC_TESTCASE} status: ${status} success: ${success}" # Clean processes before exit... @@ -398,6 +396,9 @@ for i in "${active_versions[@]}"; do fi done +echo "Terminating Arctic CLI..." +${ARCTIC_JDK} -jar ./arctic.jar -c terminate + if [[ -n $twm_pid ]]; then kill $twm_pid 2>/dev/null fi From 1a56debcd11077b9b18e361f2a0bd6d580ffd7af Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 13:49:45 +0100 Subject: [PATCH 63/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index af63fcae49..d3f152b2fb 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -324,6 +324,7 @@ for i in "${active_versions[@]}"; do else # Testcase started, start Arctic playback... sleep $SLEEP_TIME + echo "Starting Arctic: testcase $GROUP $ARCTIC_TESTCASE" $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "$GROUP" "$ARCTIC_TESTCASE" rc=$? From ccc773196e419255f0484c36273978b0ac6488b4 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 13:53:05 +0100 Subject: [PATCH 64/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index d3f152b2fb..aec93135e1 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -210,7 +210,7 @@ if [ ! -f ${LIB_DIR}/arctic.jar ]; then fi echo "Starting player in background with RMI..." -$ARCTIC_JDK -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & +$ARCTIC_JDK -Darctic.scope=$VERSION -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & rc=$? if [ $rc -ne 0 ]; then echo "Unable to start Arctic player, rc=$rc" From 5903e14ea9b4541cc6b537a92af330586494fe01 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 14:19:14 +0100 Subject: [PATCH 65/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index aec93135e1..f023cbc2bd 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -209,6 +209,10 @@ if [ ! -f ${LIB_DIR}/arctic.jar ]; then ls -al ${LIB_DIR} fi +echo "===========================================================================" +cat player.properties +echo "===========================================================================" + echo "Starting player in background with RMI..." $ARCTIC_JDK -Darctic.scope=$VERSION -Darctic.logLevel=TRACE -jar ${LIB_DIR}/arctic.jar -p & rc=$? @@ -220,6 +224,10 @@ if [ $rc -ne 0 ]; then exit $rc fi +# Sleep longer for Arctic RMI to start up... +sleep $SLEEP_TIME +sleep $SLEEP_TIME + echo "Java under test: $TEST_JDK_HOME" # twm & TOP_DIR=$JENKINS_HOME_DIR/jck_run/arctic/$OSNAME/arctic_tests From 5b32192ca9dd4527a2615eff9478183957e00d2f Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 14:30:29 +0100 Subject: [PATCH 66/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index f023cbc2bd..4ce0d9db07 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -147,17 +147,17 @@ JOPTIONS="-Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dsu if [ $(uname) = Linux ]; then JENKINS_HOME_DIR=/home/jenkins - PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/linux/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /home/jenkins/jck_run/arctic/linux/arctic_tests#g' setupLinuxEnv elif [ $(uname) = Darwin ]; then JENKINS_HOME_DIR="/Users/jenkins" - PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = /Users/jenkins/jck_run/arctic/mac/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = /Users/jenkins/jck_run/arctic/mac/arctic_tests#g' setupMacEnv elif [ $(uname) = Windows_NT ]; then JENKINS_HOME_DIR="c:/Users/jenkins" - PPROP_LINE='s#arctic.common.repository.json.path.*\$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/windows/arctic_tests#g' + PPROP_LINE='s#arctic.common.repository.json.path.*$#arctic.common.repository.json.path = c:/Users/jenkins/jck_run/arctic/windows/arctic_tests#g' setupWindowsEnv fi From 54579fc21a5b932f22fcb64aa54c5733151716e8 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 15:13:51 +0100 Subject: [PATCH 67/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 4ce0d9db07..6b99bedd1b 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -238,10 +238,13 @@ FOUND_TESTS=() for i in "${active_versions[@]}"; do if [[ "$i" == "default" ]] || [[ "$i" -le "${VERSION}" ]]; then START_DIR="${TOP_DIR}/${i}/${GROUP}" + # Remove any double slashes + START_DIR=$(echo "$START_DIR" | sed 's#//#/#g') TEST_JSON_FILES=$(find ${START_DIR} -type f -name 'Test.json' -o -name 'Test.link') for f in $TEST_JSON_FILES do + f=$(echo "$f" | sed 's#//#/#g') echo "Test file: ${f}" # Determine Arctic testcase name from folder @@ -370,23 +373,23 @@ for i in "${active_versions[@]}"; do # NOTE: PASSED == 95 for jtharness test status, javatest CLI will be "0" ! success=false if [[ $status == "UNCONFIRMED" ]] && [[ $test_exit_status == 95 ]]; then - ${ARCTIC_JDK} -jar ./arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" true + ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" true success=true else - ${ARCTIC_JDK} -jar ./arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" false + ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" false fi # Get final Arctic status - result=$(${ARCTIC_JDK} -jar ./arctic.jar -c test list ${GROUP}/${ARCTIC_TESTCASE}) + result=$(${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test list ${GROUP}/${ARCTIC_TESTCASE}) status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "Arctic final completion status ==>" $status echo "Saving Arctic session..." session_file=$(echo ${GROUP}/${ARCTIC_TESTCASE}.session | tr "/" "_") - ${ARCTIC_JDK} -jar ./arctic.jar -c session save ${session_file} + ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c session save ${session_file} echo "Printing Arctic session info..." - ${ARCTIC_JDK} -jar ./arctic.jar -c session print + ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c session print echo "Completed playback of ${GROUP}/${ARCTIC_TESTCASE} status: ${status} success: ${success}" @@ -406,7 +409,7 @@ for i in "${active_versions[@]}"; do done echo "Terminating Arctic CLI..." -${ARCTIC_JDK} -jar ./arctic.jar -c terminate +${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c terminate if [[ -n $twm_pid ]]; then kill $twm_pid 2>/dev/null From 1a5eeccbc7808ce1ef1cdd13300feaea5889db13 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 15:20:40 +0100 Subject: [PATCH 68/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 32 +++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 6b99bedd1b..d5e98fbe94 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -237,7 +237,7 @@ overallSuccess=true FOUND_TESTS=() for i in "${active_versions[@]}"; do if [[ "$i" == "default" ]] || [[ "$i" -le "${VERSION}" ]]; then - START_DIR="${TOP_DIR}/${i}/${GROUP}" + START_DIR="${TOP_DIR}/${i}/${TEST_GROUP}" # Remove any double slashes START_DIR=$(echo "$START_DIR" | sed 's#//#/#g') @@ -276,7 +276,7 @@ for i in "${active_versions[@]}"; do fi if [[ -n "${JCK_TESTCASE}" ]]; then - HTML_FILE="${JCK_MATERIAL}/tests/${GROUP}/${JCK_TESTCASE}" + HTML_FILE="${JCK_MATERIAL}/tests/${TEST_GROUP}/${JCK_TESTCASE}" # Does JCK testcase exist for this VERSION ? if [[ -e "${HTML_FILE}" ]]; then FOUND=false @@ -295,10 +295,10 @@ for i in "${active_versions[@]}"; do echo "==> JCK Test exists: $HTML_FILE" echo " Running:" - echo " Testcase ${JCK_TEST} of scope ${i} ${GROUP} ${ARCTIC_TESTCASE}" + echo " Testcase ${JCK_TEST} of scope ${i} ${TEST_GROUP} ${ARCTIC_TESTCASE}" echo " JCK class: ${TEST_CLASS}" - TEST_CMDLINE="${TEST_JDK_HOME}/bin/java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${GROUP}/${JCK_TESTCASE} -TestCaseID ${JCK_TEST}" + TEST_CMDLINE="${TEST_JDK_HOME}/bin/java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${TEST_GROUP}/${JCK_TESTCASE} -TestCaseID ${JCK_TEST}" # Certain tests require extra options if [[ "${ARCTIC_TESTCASE}" =~ .*PageDialog.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*Print.* ]]; then @@ -318,7 +318,7 @@ for i in "${active_versions[@]}"; do test_pid=$! echo "Testcase started process $test_pid" else - echo "Skipping: $GROUP $ARCTIC_TESTCASE" + echo "Skipping: $TEST_GROUP $ARCTIC_TESTCASE" test_pid=-1 skipped=true fi @@ -336,22 +336,22 @@ for i in "${active_versions[@]}"; do # Testcase started, start Arctic playback... sleep $SLEEP_TIME - echo "Starting Arctic: testcase $GROUP $ARCTIC_TESTCASE" - $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "$GROUP" "$ARCTIC_TESTCASE" + echo "Starting Arctic: testcase $TEST_GROUP $ARCTIC_TESTCASE" + $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "$TEST_GROUP" "$ARCTIC_TESTCASE" rc=$? if [[ $rc -ne 0 ]]; then - echo "Unable to start playback for testcase $GROUP/$ARCTIC_TESTCASE, rc=$rc" + echo "Unable to start playback for testcase $TEST_GROUP/$ARCTIC_TESTCASE, rc=$rc" else sleep $SLEEP_TIME - echo "$GROUP/$ARCTIC_TESTCASE" - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) + echo "$TEST_GROUP/$ARCTIC_TESTCASE" + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$ARCTIC_TESTCASE) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep $SLEEP_TIME - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $GROUP/$ARCTIC_TESTCASE) + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$ARCTIC_TESTCASE) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status @@ -373,25 +373,25 @@ for i in "${active_versions[@]}"; do # NOTE: PASSED == 95 for jtharness test status, javatest CLI will be "0" ! success=false if [[ $status == "UNCONFIRMED" ]] && [[ $test_exit_status == 95 ]]; then - ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" true + ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test finish "${TEST_GROUP}" "${ARCTIC_TESTCASE}" true success=true else - ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test finish "${GROUP}" "${ARCTIC_TESTCASE}" false + ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test finish "${TEST_GROUP}" "${ARCTIC_TESTCASE}" false fi # Get final Arctic status - result=$(${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test list ${GROUP}/${ARCTIC_TESTCASE}) + result=$(${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${ARCTIC_TESTCASE}) status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "Arctic final completion status ==>" $status echo "Saving Arctic session..." - session_file=$(echo ${GROUP}/${ARCTIC_TESTCASE}.session | tr "/" "_") + session_file=$(echo ${TEST_GROUP}/${ARCTIC_TESTCASE}.session | tr "/" "_") ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c session save ${session_file} echo "Printing Arctic session info..." ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c session print - echo "Completed playback of ${GROUP}/${ARCTIC_TESTCASE} status: ${status} success: ${success}" + echo "Completed playback of ${TEST_GROUP}/${ARCTIC_TESTCASE} status: ${status} success: ${success}" # Clean processes before exit... kill $test_pid 2>/dev/null From 4f2c43e7175909ccc3cb91ecb643701a0d5a770d Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 15:33:25 +0100 Subject: [PATCH 69/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 34 ++++++++++++----------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index d5e98fbe94..540f2d83ea 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -178,6 +178,8 @@ if [ $OSNAME = "osx" ]; then OSNAME="mac" fi +ARCTIC_GROUP="${TEST_SUB_DIR}" + JCK_VER=$VERSION if [[ $VERSION == "8" ]]; then JCK_VER="${VERSION}d" @@ -237,7 +239,7 @@ overallSuccess=true FOUND_TESTS=() for i in "${active_versions[@]}"; do if [[ "$i" == "default" ]] || [[ "$i" -le "${VERSION}" ]]; then - START_DIR="${TOP_DIR}/${i}/${TEST_GROUP}" + START_DIR="${TOP_DIR}/${i}/${ARCTIC_GROUP}" # Remove any double slashes START_DIR=$(echo "$START_DIR" | sed 's#//#/#g') @@ -276,7 +278,7 @@ for i in "${active_versions[@]}"; do fi if [[ -n "${JCK_TESTCASE}" ]]; then - HTML_FILE="${JCK_MATERIAL}/tests/${TEST_GROUP}/${JCK_TESTCASE}" + HTML_FILE="${JCK_MATERIAL}/tests/${ARCTIC_GROUP}/${JCK_TESTCASE}" # Does JCK testcase exist for this VERSION ? if [[ -e "${HTML_FILE}" ]]; then FOUND=false @@ -295,10 +297,10 @@ for i in "${active_versions[@]}"; do echo "==> JCK Test exists: $HTML_FILE" echo " Running:" - echo " Testcase ${JCK_TEST} of scope ${i} ${TEST_GROUP} ${ARCTIC_TESTCASE}" + echo " Testcase ${JCK_TEST} of scope ${i} ${ARCTIC_GROUP} ${ARCTIC_TESTCASE}" echo " JCK class: ${TEST_CLASS}" - TEST_CMDLINE="${TEST_JDK_HOME}/bin/java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${TEST_GROUP}/${JCK_TESTCASE} -TestCaseID ${JCK_TEST}" + TEST_CMDLINE="${TEST_JDK_HOME}/bin/java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dmultitest.testcaseOrder=sorted -classpath :${JCK_MATERIAL}/classes: ${TEST_CLASS} -TestDirURL file:${JCK_MATERIAL}/tests/${ARCTIC_GROUP}/${JCK_TESTCASE} -TestCaseID ${JCK_TEST}" # Certain tests require extra options if [[ "${ARCTIC_TESTCASE}" =~ .*PageDialog.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*Print.* ]]; then @@ -318,7 +320,7 @@ for i in "${active_versions[@]}"; do test_pid=$! echo "Testcase started process $test_pid" else - echo "Skipping: $TEST_GROUP $ARCTIC_TESTCASE" + echo "Skipping: $ARCTIC_GROUP $ARCTIC_TESTCASE" test_pid=-1 skipped=true fi @@ -336,22 +338,22 @@ for i in "${active_versions[@]}"; do # Testcase started, start Arctic playback... sleep $SLEEP_TIME - echo "Starting Arctic: testcase $TEST_GROUP $ARCTIC_TESTCASE" - $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "$TEST_GROUP" "$ARCTIC_TESTCASE" + echo "Starting Arctic: testcase $ARCTIC_GROUP $ARCTIC_TESTCASE" + $ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test start "$ARCTIC_GROUP" "$ARCTIC_TESTCASE" rc=$? if [[ $rc -ne 0 ]]; then - echo "Unable to start playback for testcase $TEST_GROUP/$ARCTIC_TESTCASE, rc=$rc" + echo "Unable to start playback for testcase $ARCTIC_GROUP/$ARCTIC_TESTCASE, rc=$rc" else sleep $SLEEP_TIME - echo "$TEST_GROUP/$ARCTIC_TESTCASE" - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$ARCTIC_TESTCASE) + echo "$ARCTIC_GROUP/$ARCTIC_TESTCASE" + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $ARCTIC_GROUP/$ARCTIC_TESTCASE) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do sleep $SLEEP_TIME - result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $TEST_GROUP/$ARCTIC_TESTCASE) + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $ARCTIC_GROUP/$ARCTIC_TESTCASE) rc=$? status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "==>" $status @@ -373,25 +375,25 @@ for i in "${active_versions[@]}"; do # NOTE: PASSED == 95 for jtharness test status, javatest CLI will be "0" ! success=false if [[ $status == "UNCONFIRMED" ]] && [[ $test_exit_status == 95 ]]; then - ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test finish "${TEST_GROUP}" "${ARCTIC_TESTCASE}" true + ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test finish "${ARCTIC_GROUP}" "${ARCTIC_TESTCASE}" true success=true else - ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test finish "${TEST_GROUP}" "${ARCTIC_TESTCASE}" false + ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test finish "${ARCTIC_GROUP}" "${ARCTIC_TESTCASE}" false fi # Get final Arctic status - result=$(${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test list ${TEST_GROUP}/${ARCTIC_TESTCASE}) + result=$(${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c test list ${ARCTIC_GROUP}/${ARCTIC_TESTCASE}) status=$(echo $result | tr -s ' ' | cut -d' ' -f2) echo "Arctic final completion status ==>" $status echo "Saving Arctic session..." - session_file=$(echo ${TEST_GROUP}/${ARCTIC_TESTCASE}.session | tr "/" "_") + session_file=$(echo ${ARCTIC_GROUP}/${ARCTIC_TESTCASE}.session | tr "/" "_") ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c session save ${session_file} echo "Printing Arctic session info..." ${ARCTIC_JDK} -jar ${LIB_DIR}/arctic.jar -c session print - echo "Completed playback of ${TEST_GROUP}/${ARCTIC_TESTCASE} status: ${status} success: ${success}" + echo "Completed playback of ${ARCTIC_GROUP}/${ARCTIC_TESTCASE} status: ${status} success: ${success}" # Clean processes before exit... kill $test_pid 2>/dev/null From 6a96d97e06e6daa9741859f606bf7c867d3c607b Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 15:44:57 +0100 Subject: [PATCH 70/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 540f2d83ea..f8ca78923b 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -315,7 +315,7 @@ for i in "${active_versions[@]}"; do # Only run ListTests for the moment!! skipped=false - if [[ "${ARCTIC_TESTCASE}" =~ .*ListTests.* ]]; then + if [[ "${ARCTIC_TESTCASE}" =~ .*ListTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]] ||; then ${TEST_CMDLINE} & test_pid=$! echo "Testcase started process $test_pid" From b513922585a9c05cf1b68851246dad4a39cf6d83 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 15:49:30 +0100 Subject: [PATCH 71/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index f8ca78923b..40ffa56d90 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -315,7 +315,7 @@ for i in "${active_versions[@]}"; do # Only run ListTests for the moment!! skipped=false - if [[ "${ARCTIC_TESTCASE}" =~ .*ListTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]] ||; then + if [[ "${ARCTIC_TESTCASE}" =~ .*ListTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]]; then ${TEST_CMDLINE} & test_pid=$! echo "Testcase started process $test_pid" From 6f3e49b272355accff77ae991b83247b017ccdf0 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 16:07:25 +0100 Subject: [PATCH 72/85] Update runtests.sh Signed-off-by: Andrew Leonard --- buildenv/jenkins/JenkinsfileBase | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/buildenv/jenkins/JenkinsfileBase b/buildenv/jenkins/JenkinsfileBase index 170e202779..87e9ccb362 100644 --- a/buildenv/jenkins/JenkinsfileBase +++ b/buildenv/jenkins/JenkinsfileBase @@ -894,6 +894,10 @@ def post(output_name) { archiveAQAvitFiles() if (env.BUILD_LIST.startsWith('jck')) { + // Archive any jck interactive sessions & failures + archiveArtifacts artifacts: "failures/**", allowEmptyArchive: true + archiveArtifacts artifacts: "*.session", allowEmptyArchive: true + xunit ( tools: [Custom(customXSL: "$WORKSPACE/aqa-tests/jck/xUnit.xsl", deleteOutputFiles: true, From ed04c44ca9e329e9c95af154b5f850338f39ba2e Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 16:16:00 +0100 Subject: [PATCH 73/85] Update runtests.sh Signed-off-by: Andrew Leonard --- buildenv/jenkins/JenkinsfileBase | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildenv/jenkins/JenkinsfileBase b/buildenv/jenkins/JenkinsfileBase index 87e9ccb362..131e90ab49 100644 --- a/buildenv/jenkins/JenkinsfileBase +++ b/buildenv/jenkins/JenkinsfileBase @@ -895,8 +895,8 @@ def post(output_name) { if (env.BUILD_LIST.startsWith('jck')) { // Archive any jck interactive sessions & failures - archiveArtifacts artifacts: "failures/**", allowEmptyArchive: true - archiveArtifacts artifacts: "*.session", allowEmptyArchive: true + archiveArtifacts artifacts: "**/TKG/output_*/**/failures/**", allowEmptyArchive: true + archiveArtifacts artifacts: "**/TKG/output_*/**/*.session", allowEmptyArchive: true xunit ( tools: [Custom(customXSL: "$WORKSPACE/aqa-tests/jck/xUnit.xsl", From c0b6e3984fe82a71e2bc41ca9cc51d3973791833 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 16:39:12 +0100 Subject: [PATCH 74/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 40ffa56d90..0ca03d4fa7 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -315,7 +315,7 @@ for i in "${active_versions[@]}"; do # Only run ListTests for the moment!! skipped=false - if [[ "${ARCTIC_TESTCASE}" =~ .*ListTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]]; then + if [[ "${ARCTIC_TESTCASE}" =~ .*PMenuTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]]; then ${TEST_CMDLINE} & test_pid=$! echo "Testcase started process $test_pid" From d38ec526bb551bf8009fcb42f73fa0dfeb8e1e25 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 17:24:13 +0100 Subject: [PATCH 75/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 0ca03d4fa7..3a9f6ec3a3 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -315,7 +315,7 @@ for i in "${active_versions[@]}"; do # Only run ListTests for the moment!! skipped=false - if [[ "${ARCTIC_TESTCASE}" =~ .*PMenuTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]]; then + if [[ "${ARCTIC_TESTCASE}" =~ .*PMenuTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*EventTests.* ]]; then ${TEST_CMDLINE} & test_pid=$! echo "Testcase started process $test_pid" From b28e6d910fa49642c3f6576fb586853a65160f44 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 17:36:11 +0100 Subject: [PATCH 76/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 3a9f6ec3a3..748adba183 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -346,17 +346,29 @@ for i in "${active_versions[@]}"; do echo "Unable to start playback for testcase $ARCTIC_GROUP/$ARCTIC_TESTCASE, rc=$rc" else sleep $SLEEP_TIME + echo "$ARCTIC_GROUP/$ARCTIC_TESTCASE" + result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $ARCTIC_GROUP/$ARCTIC_TESTCASE) rc=$? - status=$(echo $result | tr -s ' ' | cut -d' ' -f2) + # status is "test path" left justified to 50 characters with no space from status + status=$(echo $result | sed 's#'${ARCTIC_GROUP}/${ARCTIC_TESTCASE}'#TEST #' | tr -s ' '| cut -d' ' -f2) echo "==>" $status - while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; do - sleep $SLEEP_TIME + loop_counter=360 # 30 mins + while [[ $rc -eq 0 ]] && { [[ "$status" == "RUNNING" ]] || [[ "$status" == "STARTING" ]]; }; + do + sleep $SLEEP_TIME + loop_counter=$((loop_counter - 1)) + if [[ $loop_counter -eq 0 ]]; then + echo "Arctic process has timed out. Tidying up processes and failing job." + status="ABORTED" + rc=1 + else result=$($ARCTIC_JDK -jar ${LIB_DIR}/arctic.jar -c test list $ARCTIC_GROUP/$ARCTIC_TESTCASE) rc=$? - status=$(echo $result | tr -s ' ' | cut -d' ' -f2) - echo "==>" $status + status=$(echo $result | sed 's#'${ARCTIC_GROUP}/${ARCTIC_TESTCASE}'#TEST #' | tr -s ' '| cut -d' ' -f2) + fi + echo "==>" $status done sleep $SLEEP_TIME From 70cafbad3102b9bf1d895f3e33dc2b88ce07186a Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 18:06:16 +0100 Subject: [PATCH 77/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 748adba183..6c3e862509 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -237,6 +237,8 @@ echo "TEST_GROUP is $TEST_GROUP, OSNAME is $OSNAME, VERSION is $VERSION, STARTIN overallSuccess=true FOUND_TESTS=() +PASSED_TESTS=() +FAILED_TESTS=() for i in "${active_versions[@]}"; do if [[ "$i" == "default" ]] || [[ "$i" -le "${VERSION}" ]]; then START_DIR="${TOP_DIR}/${i}/${ARCTIC_GROUP}" @@ -411,7 +413,10 @@ for i in "${active_versions[@]}"; do kill $test_pid 2>/dev/null if [[ $success != true ]]; then + FAILED_TESTS+=("${ARCTIC_TESTCASE}") overallSuccess=false + else + PASSED_TESTS+=("${ARCTIC_TESTCASE}") fi fi fi @@ -429,6 +434,21 @@ if [[ -n $twm_pid ]]; then kill $twm_pid 2>/dev/null fi +echo "=======================================================================================" +echo "PASSED Testcases:" +for test in "${PASSED_TESTS[@]}" + echo "$test : PASSED" +done +echo "=======================================================================================" + +if [[ $overallSuccess != true ]]; then + echo "FAILED Testcases:" + for test in "${FAILED_TESTS[@]}" + echo "$test : FAILED" + done + echo "=======================================================================================" +fi + echo "Finished running testcases, overallSuccess = $overallSuccess" if [[ $overallSuccess != true ]]; then From 775a648ee231dcc5f05df34025f0c4fd82dd8c71 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 18:49:08 +0100 Subject: [PATCH 78/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 6c3e862509..446d9b0004 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -317,7 +317,7 @@ for i in "${active_versions[@]}"; do # Only run ListTests for the moment!! skipped=false - if [[ "${ARCTIC_TESTCASE}" =~ .*PMenuTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*EventTests.* ]]; then + if [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*EventTests.* ]]; then ${TEST_CMDLINE} & test_pid=$! echo "Testcase started process $test_pid" @@ -437,6 +437,7 @@ fi echo "=======================================================================================" echo "PASSED Testcases:" for test in "${PASSED_TESTS[@]}" +do echo "$test : PASSED" done echo "=======================================================================================" @@ -444,6 +445,7 @@ echo "========================================================================== if [[ $overallSuccess != true ]]; then echo "FAILED Testcases:" for test in "${FAILED_TESTS[@]}" + do echo "$test : FAILED" done echo "=======================================================================================" From f302903565801197c388036e0dfd20bf70a22fd8 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Wed, 25 Jun 2025 19:10:40 +0100 Subject: [PATCH 79/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 25 +++++++++++++---------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 446d9b0004..d7f74aa0a4 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -314,18 +314,21 @@ for i in "${active_versions[@]}"; do echo "EXECUTING: ${TEST_CMDLINE}" # Start TESTCASE... - - # Only run ListTests for the moment!! skipped=false - if [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]] || [[ "${ARCTIC_TESTCASE}" =~ .*EventTests.* ]]; then - ${TEST_CMDLINE} & - test_pid=$! - echo "Testcase started process $test_pid" - else - echo "Skipping: $ARCTIC_GROUP $ARCTIC_TESTCASE" - test_pid=-1 - skipped=true - fi + ${TEST_CMDLINE} & + test_pid=$! + echo "Testcase started process $test_pid" + + # Only run selected tests, for debug... + #if [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]]; then + # ${TEST_CMDLINE} & + # test_pid=$! + # echo "Testcase started process $test_pid" + #else + # echo "Skipping: $ARCTIC_GROUP $ARCTIC_TESTCASE" + # test_pid=-1 + # skipped=true + #fi sleep $SLEEP_TIME From ec42cd12e74b5f1738064e8332979af4e19ea306 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Thu, 26 Jun 2025 11:23:09 +0100 Subject: [PATCH 80/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 46 ++++++++++++++--------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index d7f74aa0a4..c60b531340 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -179,6 +179,20 @@ if [ $OSNAME = "osx" ]; then fi ARCTIC_GROUP="${TEST_SUB_DIR}" +if [ $TEST_GROUP = "custom" ]; then + if [[ $TEST_SUB_DIR == "api/java_awt/*" ]]; then + ARCTIC_GROUP="api/java_awt" + elif if [[ $TEST_SUB_DIR == "api/javax_swing/*" ]]; then + ARCTIC_GROUP="api/javax_swing" + else + echo "ERROR: custom Arctic target $TEST_SUB_DIR, is not a known group (api/java_awt, api/javax_swing)" + exit 1 + fi + # Strip ARCTIC_GROUP/ from front + CUSTOM_ARCTIC_TESTCASE=${TEST_SUB_DIR/$ARCTIC_GROUP/} + CUSTOM_ARCTIC_TESTCASE=${CUSTOM_ARCTIC_TESTCASE:1} + echo "Running custom target: $ARCTIC_GROUP $CUSTOM_ARCTIC_TESTCASE" +fi JCK_VER=$VERSION if [[ $VERSION == "8" ]]; then @@ -313,22 +327,18 @@ for i in "${active_versions[@]}"; do fi echo "EXECUTING: ${TEST_CMDLINE}" - # Start TESTCASE... - skipped=false - ${TEST_CMDLINE} & - test_pid=$! - echo "Testcase started process $test_pid" - - # Only run selected tests, for debug... - #if [[ "${ARCTIC_TESTCASE}" =~ .*ButtonTests.* ]]; then - # ${TEST_CMDLINE} & - # test_pid=$! - # echo "Testcase started process $test_pid" - #else - # echo "Skipping: $ARCTIC_GROUP $ARCTIC_TESTCASE" - # test_pid=-1 - # skipped=true - #fi + # Custom check + if [[ "${TEST_GROUP}" == "custom" ]] && [[ "${ARCTIC_TESTCASE}" != "${CUSTOM_ARCTIC_TESTCASE}" ]]; then + test_pid=-1 + skipped=true + echo "Skipping: $ARCTIC_GROUP $ARCTIC_TESTCASE" + else + skipped=false + # Start TESTCASE... + ${TEST_CMDLINE} & + test_pid=$! + echo "Testcase started process $test_pid" + fi sleep $SLEEP_TIME @@ -416,10 +426,10 @@ for i in "${active_versions[@]}"; do kill $test_pid 2>/dev/null if [[ $success != true ]]; then - FAILED_TESTS+=("${ARCTIC_TESTCASE}") + FAILED_TESTS+=("${ARCTIC_GROUP}/${ARCTIC_TESTCASE}") overallSuccess=false else - PASSED_TESTS+=("${ARCTIC_TESTCASE}") + PASSED_TESTS+=("${ARCTIC_GROUP}/${ARCTIC_TESTCASE}") fi fi fi From 55aac6d88f8b7d3be72d06e14a9e45fb750c2b5c Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Thu, 26 Jun 2025 11:52:20 +0100 Subject: [PATCH 81/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 5 +++++ jck/interactives/playlist.xml | 11 +++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index c60b531340..997cb37ff2 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -180,6 +180,11 @@ fi ARCTIC_GROUP="${TEST_SUB_DIR}" if [ $TEST_GROUP = "custom" ]; then + if [[ -z $TEST_SUB_DIR ]]; then + echo "Custom: No custom Arctic groups specified, skipping." + exit 0 + fi + if [[ $TEST_SUB_DIR == "api/java_awt/*" ]]; then ARCTIC_GROUP="api/java_awt" elif if [[ $TEST_SUB_DIR == "api/javax_swing/*" ]]; then diff --git a/jck/interactives/playlist.xml b/jck/interactives/playlist.xml index 4f5a094898..5a3d366764 100644 --- a/jck/interactives/playlist.xml +++ b/jck/interactives/playlist.xml @@ -19,14 +19,9 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh custom ${PLATFORM} ${JDK_VERSION} ${JCKINTERACTIVES_CUSTOM_TARGET} ${JCK_VERSION_NUMBER}; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh custom ${PLATFORM} ${JDK_VERSION} ${JCK_VERSION_NUMBER} ${JCKINTERACTIVES_CUSTOM_TARGET}; \ $(TEST_STATUS) - - - This test target is not yet available - - dev @@ -39,7 +34,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION} api/java_awt ${JCK_VERSION_NUMBER}; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh java_awt ${PLATFORM} ${JDK_VERSION} ${JCK_VERSION_NUMBER} api/java_awt; \ $(TEST_STATUS) @@ -60,7 +55,7 @@ NoOptions - $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh javax_swing ${PLATFORM} ${JDK_VERSION} api/javax_swing ${JCK_VERSION_NUMBER}; \ + $(TEST_ROOT)$(D)jck$(D)interactives$(D)arctic_tests$(D)runTests.sh javax_swing ${PLATFORM} ${JDK_VERSION} ${JCK_VERSION_NUMBER} api/javax_swing; \ $(TEST_STATUS) From 8141276b0854ea574146495d4a23a59f46c7e88c Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Thu, 26 Jun 2025 11:57:13 +0100 Subject: [PATCH 82/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 997cb37ff2..fb9d943173 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -187,7 +187,7 @@ if [ $TEST_GROUP = "custom" ]; then if [[ $TEST_SUB_DIR == "api/java_awt/*" ]]; then ARCTIC_GROUP="api/java_awt" - elif if [[ $TEST_SUB_DIR == "api/javax_swing/*" ]]; then + elif [[ $TEST_SUB_DIR == "api/javax_swing/*" ]]; then ARCTIC_GROUP="api/javax_swing" else echo "ERROR: custom Arctic target $TEST_SUB_DIR, is not a known group (api/java_awt, api/javax_swing)" From bc1c5fa26065fffd9f8262b6b8227736fa1cc834 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Thu, 26 Jun 2025 12:00:23 +0100 Subject: [PATCH 83/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index fb9d943173..fa735155b5 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -166,8 +166,8 @@ fi TEST_GROUP=$1 PLATFORM=$2 VERSION=$3 -TEST_SUB_DIR=$4 -JCK_VERSION_NUMBER=$5 +JCK_VERSION_NUMBER=$4 +TEST_SUB_DIR=$5 OSNAME=${PLATFORM%_*} STARTING_SCOPE=$VERSION if [ $VERSION -eq 8 ]; then @@ -199,13 +199,7 @@ if [ $TEST_GROUP = "custom" ]; then echo "Running custom target: $ARCTIC_GROUP $CUSTOM_ARCTIC_TESTCASE" fi -JCK_VER=$VERSION -if [[ $VERSION == "8" ]]; then - JCK_VER="${VERSION}d" -elif [[ $VERSION == "11" ]] || [[ $VERSION == "17" ]]; then - JCK_VER="${VERSION}a" -fi -JCK_MATERIAL="$JENKINS_HOME_DIR/jck_root/JCK${VERSION}-unzipped/JCK-runtime-${JCK_VER}" +JCK_MATERIAL="$JENKINS_HOME_DIR/jck_root/JCK${VERSION}-unzipped/JCK-runtime-${JCK_VERSION_NUMBER}" if [ $PLATFORM = "ppc64le_linux" ]; then wget -q https://ci.adoptium.net/job/Build_Arctic_ppc64le_linux/lastSuccessfulBuild/artifact/upload/arctic-0.8.1.jar From 42078af1ed044eb5eefec8369de19ba1e76b1c2d Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Thu, 26 Jun 2025 12:03:05 +0100 Subject: [PATCH 84/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index fa735155b5..786e4005a9 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -185,9 +185,9 @@ if [ $TEST_GROUP = "custom" ]; then exit 0 fi - if [[ $TEST_SUB_DIR == "api/java_awt/*" ]]; then + if [[ $TEST_SUB_DIR == api/java_awt/* ]]; then ARCTIC_GROUP="api/java_awt" - elif [[ $TEST_SUB_DIR == "api/javax_swing/*" ]]; then + elif [[ $TEST_SUB_DIR == api/javax_swing/* ]]; then ARCTIC_GROUP="api/javax_swing" else echo "ERROR: custom Arctic target $TEST_SUB_DIR, is not a known group (api/java_awt, api/javax_swing)" From b6e11cc06412a8b7db237261d36b76a2be43cf38 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Thu, 26 Jun 2025 12:27:23 +0100 Subject: [PATCH 85/85] Update runtests.sh Signed-off-by: Andrew Leonard --- jck/interactives/arctic_tests/runTests.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jck/interactives/arctic_tests/runTests.sh b/jck/interactives/arctic_tests/runTests.sh index 786e4005a9..fff01551c1 100755 --- a/jck/interactives/arctic_tests/runTests.sh +++ b/jck/interactives/arctic_tests/runTests.sh @@ -339,7 +339,9 @@ for i in "${active_versions[@]}"; do echo "Testcase started process $test_pid" fi - sleep $SLEEP_TIME + if [[ $skipped == false ]]; then + sleep $SLEEP_TIME + fi # Check testcase started successfully. ps -p $test_pid -o pid 2>/dev/null 1>&2