Skip to content
Open
118 changes: 60 additions & 58 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,23 +31,26 @@ jobs:
- jdkconf: JDK 17
jdkver: "17"
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true

- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.jdkver || env.jdkver_latest }}
- name: Run
run: |
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jdk"
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jdk" JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}"
./testHeadlessComponents.sh
- name: Pack results
if: ${{ always() }}
run: |
tar -cf "results-linux-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml
- name: Upload results
if: ${{ always() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: "results-linux-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz"
continue-on-error: true
Expand All @@ -71,23 +74,26 @@ jobs:
- jdkconf: JDK 17
jdkver: "17"
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true

- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.jdkver || env.jdkver_latest }}
- name: Run
run: |
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre"
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}"
./testHeadlessComponents.sh
- name: Pack results
if: ${{ always() }}
run: |
tar -cf "results-linux-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml
- name: Upload results
if: ${{ always() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: "results-linux-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz"
continue-on-error: true
Expand All @@ -111,22 +117,25 @@ jobs:
- jdkconf: JDK 17
jdkver: "17"
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true

- uses: msys2/setup-msys2@v2
with:
update: true
install: wget tar git unzip

- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.jdkver || env.jdkver_latest }}
- name: Run
shell: msys2 {0}
run: |
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre"
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}"
./testHeadlessComponents.sh
- name: Pack results
if: ${{ always() }}
Expand All @@ -135,7 +144,7 @@ jobs:
tar -cf "results-windows-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml
- name: Upload results
if: ${{ always() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: "results-windows-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz"
continue-on-error: true
Expand All @@ -159,22 +168,25 @@ jobs:
- jdkconf: JDK 17
jdkver: "17"
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true

- uses: msys2/setup-msys2@v2
with:
update: true
install: wget tar git unzip

- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.jdkver || env.jdkver_latest }}
- name: Run
shell: msys2 {0}
run: |
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre"
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}"
./testHeadlessComponents.sh
- name: Pack results
if: ${{ always() }}
Expand All @@ -183,7 +195,7 @@ jobs:
tar -cf "results-windows-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml
- name: Upload results
if: ${{ always() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: "results-windows-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz"
continue-on-error: true
Expand All @@ -200,46 +212,41 @@ jobs:
- JDK 17
- JDK Latest
include:
- jdkconf: JDK 8
jdkver: "8"
- jdkconf: JDK 11
jdkver: "11"
- jdkconf: JDK 17
jdkver: "17"
steps:
- uses: actions/checkout@v3
- name: Install Homebrew
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true

- name: Install Bash with brew
run: |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval $(/usr/local/bin/brew shellenv)' >> $HOME/.zprofile
eval $(/usr/local/bin/brew shellenv)

- name: Install Bash with Homebrew
run: brew install bash

- name: Update Shell Configuration
run: echo 'export PATH="/usr/local/bin:$PATH"' >> $HOME/.zprofile && exec -l $SHELL

- name: Verify Bash Version
run: /usr/local/bin/bash --version
brew install bash
echo "/usr/local/bin/bash" >> $GITHUB_PATH

- name: Check Bash version
run: bash --version

- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.jdkver || env.jdkver_latest }}
- name: Run
run: |
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" WORKSPACE=/Users/runner/workspace
/usr/local/bin/bash testHeadlessComponents.sh
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jre" WORKSPACE=/Users/runner/workspace JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}"
bash testHeadlessComponents.sh
- name: Pack results
if: ${{ always() }}
run: |
export WORKSPACE=/Users/runner/workspace
tar -cf "results-macos-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml
- name: Upload results
if: ${{ always() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: "results-macos-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz"
continue-on-error: true
Expand All @@ -258,46 +265,41 @@ jobs:
- JDK 17
- JDK Latest
include:
- jdkconf: JDK 8
jdkver: "8"
- jdkconf: JDK 11
jdkver: "11"
- jdkconf: JDK 17
jdkver: "17"
steps:
- uses: actions/checkout@v3
- name: Install Homebrew
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true

- name: Install Bash with brew
run: |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval $(/usr/local/bin/brew shellenv)' >> $HOME/.zprofile
eval $(/usr/local/bin/brew shellenv)

- name: Install Bash with Homebrew
run: brew install bash

- name: Update Shell Configuration
run: echo 'export PATH="/usr/local/bin:$PATH"' >> $HOME/.zprofile && exec -l $SHELL

- name: Verify Bash Version
run: /usr/local/bin/bash --version
brew install bash
echo "/usr/local/bin/bash" >> $GITHUB_PATH

- name: Check Bash version
run: bash --version

- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.jdkver || env.jdkver_latest }}
- name: Run
run: |
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jdk" WORKSPACE=/Users/runner/workspace
/usr/local/bin/bash testHeadlessComponents.sh
export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jdk" WORKSPACE=/Users/runner/workspace JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}"
bash testHeadlessComponents.sh
- name: Pack results
if: ${{ always() }}
run: |
export WORKSPACE=/Users/runner/workspace
tar -cf "results-macos-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml
- name: Upload results
if: ${{ always() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: "results-macos-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz"
continue-on-error: true
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "RFaT"]
path = RFaT
url = https://github.com/rh-openjdk/run-folder-as-tests.git
1 change: 1 addition & 0 deletions RFaT
Submodule RFaT added at 80b215
90 changes: 7 additions & 83 deletions testHeadlessComponents.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,70 +18,6 @@ while [ -h "$SCRIPT_SOURCE" ]; do # resolve $SOURCE until the file is no longer
done
readonly SCRIPT_DIR="$( cd -P "$( dirname "$SCRIPT_SOURCE" )" && pwd )"

# detecting platform
platform="$(uname)"
if [ "$platform" == "Linux" ]; then
# Linux-specific code
OS="linux"
JAVA=$JAVA_HOME/bin/java
elif [ "$platform" == "Darwin" ]; then
# Mac-specific code
OS="mac"
JAVA=$JAVA_HOME/bin/java
#JAVA=java
elif [ "${platform#"MINGW64_NT"}" != "$platform" ]; then
# Windows (MinGW) specific code
OS="windows"
JAVA=$JAVA_HOME/bin/java
elif [ "${platform#"CYGWIN_NT"}" != "$platform" ]; then
# Windows (CygWin) specific code
OS="windows"
JAVA=$JAVA_HOME/bin/java
else
echo "Unsupported platform"
exit 1
fi

function unwrap_file_to_location() {
if [ "$OS" == "mac" -o "$OS" == "linux" ]; then
tar --strip-components=1 -xf $1 -C $2
elif [ "$OS" == "windows" ]; then
unzip $1 -d $2
# Get the name of the extracted folder (assuming only one folder is present)
ls $2
extracted_folder_name=$(ls $2)

# Ensure only one folder is found
if [ "$(ls $2 | wc -l)" -eq 1 ]; then
# Move the contents to the desired destination without creating a new directory
mv "$2/$extracted_folder_name"/* "$2"
else
echo "Error: More than one directory found in $2."
fi
fi
}

function installAlternativeJDK() {
ARCH=$( uname -m )
if [ "x$BOOTJDK_DIR" == "x" ]; then
BOOTJDK_DIR=~/bootjdk
fi
if [ "x$BOOTJDK_ARCHIVE_DIR" == "x" ]; then
BOOTJDK_ARCHIVE_DIR=$WORKSPACE/bootjdkarchive
mkdir -p $BOOTJDK_ARCHIVE_DIR
cd $BOOTJDK_ARCHIVE_DIR
curl -OLJks "https://api.adoptopenjdk.net/v3/binary/latest/$OJDK_VERSION_NUMBER/ga/$OS/$ARCH/jdk/hotspot/normal/adoptopenjdk"
rm -rf ${BOOTJDK_DIR}
mkdir -p ${BOOTJDK_DIR}
unwrap_file_to_location ${BOOTJDK_ARCHIVE_DIR}/* ${BOOTJDK_DIR}
else
rm -rf ${BOOTJDK_DIR}
mkdir -p ${BOOTJDK_DIR}
ls ${BOOTJDK_ARCHIVE_DIR}
unwrap_file_to_location ${BOOTJDK_ARCHIVE_DIR}/*${ARCH}.tarxz ${BOOTJDK_DIR}
fi
}

function run_java_with_headless {
COMPONENTS_TO_TEST=$2
$JAVA -cp $cp -Djava.awt.headless=$1 MainRunner -test=$COMPONENTS_TO_TEST -jreSdkHeadless=$JREJDK -displayValue=$DISPLAY
Expand Down Expand Up @@ -143,13 +79,7 @@ PASSED=0
IGNORED=0
BODY=""

if [ "x$RFaT" == "x" ]; then
readonly RFaT=`mktemp -d`
git clone https://github.com/rh-openjdk/run-folder-as-tests.git ${RFaT} 1>&2
ls -l ${RFaT} 1>&2
fi

source ${RFaT}/jtreg-shell-xml.sh
source $SCRIPT_DIR/RFaT/jtreg-shell-xml.sh

if [[ -z "${WORKSPACE}" ]]; then
WORKSPACE=~/workspace
Expand All @@ -172,21 +102,15 @@ popd

LOGFILE=$TMPRESULTS/testHeadlessComponent.log

installAlternativeJDK
#TEST_JDK_HOME always contains link to the home directory of the available SDK

JAVAC_BINARY="${BOOTJDK_DIR}/bin/javac"
if [ "$OS" == "mac" ]; then
JAVAC_BINARY="${BOOTJDK_DIR}/Contents/Home/bin/javac"
fi
JAVAC_BINARY="${TEST_JDK_HOME}/bin/javac"

#use bootjdk javac
#other classes depend on this one, so we might as well just compile the main class
cp -r $SCRIPT_DIR/testHeadlessComponents $WORKSPACE
ls $WORKSPACE
pushd $WORKSPACE/testHeadlessComponents/jreTestingSwingComponents/src
#JAVA_TO_TEST can contain either link to SDK or JRE java executable, however always the java that we want to test with
JAVA=$JAVA_TO_TEST

cp=`mktemp -d`
$JAVAC_BINARY `find . -type f -name "*.java"` -d $cp
$JAVAC_BINARY `find $SCRIPT_DIR -type f -name "*.java"`
cp="$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src"

declare -A resArray
set +e
Expand Down
Loading