Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
93 changes: 9 additions & 84 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,16 @@ popd

LOGFILE=$TMPRESULTS/testHeadlessComponent.log

installAlternativeJDK

JAVAC_BINARY="${BOOTJDK_DIR}/bin/javac"
if [ "$OS" == "mac" ]; then
JAVAC_BINARY="${BOOTJDK_DIR}/Contents/Home/bin/javac"
fi
#TEST_JDK_HOME always contains link to the home directory of the available SDK

#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
JAVAC_BINARY="${TEST_JDK_HOME}/bin/javac"

cp=`mktemp -d`
$JAVAC_BINARY `find . -type f -name "*.java"` -d $cp
#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
pushd $SCRIPT_DIR
$JAVAC_BINARY `find . -type f -name "*.java"`
cp="$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src"
popd

declare -A resArray
set +e
Expand Down
Loading