| #!/bin/bash |
| # |
| # Copyright (c) 2021 Eclipse Foundation and/or its affiliates. All rights reserved. |
| # |
| # This program and the accompanying materials are made available under the |
| # terms of the Eclipse Public License v. 2.0, which is available at |
| # http://www.eclipse.org/legal/epl-2.0. |
| # |
| # This Source Code may also be made available under the following Secondary |
| # Licenses when the conditions for such availability set forth in the |
| # Eclipse Public License v. 2.0 are satisfied: GNU General Public License, |
| # version 2 with the GNU Classpath Exception, which is available at |
| # https://www.gnu.org/software/classpath/license.html. |
| # |
| # SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 |
| # |
| |
| set -e |
| |
| catch() { |
| if [ "$1" != "0" ]; then |
| "${S1AS_HOME}"/bin/asadmin stop-domain --kill=true --force=true domain1 |
| echo "Error $1 occurred on $2" |
| exit $1; |
| fi |
| } |
| |
| install_glassfish() { |
| mvn clean -N org.apache.maven.plugins:maven-dependency-plugin:3.2.0:copy \ |
| -Dartifact=org.glassfish.main.distributions:glassfish:${GF_VERSION}:zip \ |
| -Dmdep.stripVersion=true \ |
| -DoutputDirectory=${WORKSPACE}/bundles |
| } |
| |
| install_jacoco() { |
| mvn -N org.apache.maven.plugins:maven-dependency-plugin:3.2.0:copy \ |
| -Dartifact=org.jacoco:org.jacoco.agent:0.8.7:jar:runtime \ |
| -Dmdep.stripVersion=true \ |
| -Dmdep.stripClassifier=true \ |
| -DoutputDirectory=${WORKSPACE}/bundles |
| } |
| |
| #################################### |
| |
| trap 'catch $? $LINENO' EXIT |
| |
| echo "This script can be temporarily used for local testing until we integrate current set of tests to Maven"; |
| echo "First argument is a version of GlassFish used for testing. It will be downloaded by Maven command"; |
| echo "Second argument is a test set id, one of: |
| cdi_all, ql_gf_full_profile_all, \n |
| \n |
| web_jsp, deployment_all, \n |
| ejb_group_1. ejb_group_2, ejb_group_3, ejb_group_embedded, \n |
| cdi_all, ql_gf_full_profile_all, ql_gf_nucleus_all, \ |
| ql_gf_web_profile_all, nucleus_admin_all, jdbc_all, batch_all, persistence_all, \ |
| connector_group_1, connector_group_2, connector_group_3, connector_group_4"; |
| |
| echo "If you need to use a different JAVA_HOME than is used by your system, export it or edit this script."; |
| echo ""; |
| |
| |
| test="${1}" |
| if [ -z "${test}" ]; then |
| echo "No test supplied." |
| exit 1; |
| fi |
| |
| if [ -z "${JAVA_HOME}" ]; then |
| export JAVA_HOME=/usr/lib/jvm/jdk11 |
| fi |
| export PATH="${JAVA_HOME}/bin:${PATH}" |
| |
| export MVN_REPOSITORY="${HOME}/.m2/repository" |
| export M2_HOME="${M2_HOME=$(realpath $(dirname $(realpath $(which mvn)))/..)}" |
| export APS_HOME="$(pwd)/appserver/tests/appserv-tests" |
| |
| if [ -z "${2}" ]; then |
| export GF_VERSION="$(mvn help:evaluate -f \"${APS_HOME}/pom.xml\" -Dexpression=project.version -q -DforceStdout)" |
| else |
| export GF_VERSION="$2" |
| fi |
| |
| export JACOCO_ENABLED="true" |
| export WORKSPACE="$(pwd)/target" |
| export TEST_RUN_LOG="${WORKSPACE}/tests-run.log" |
| export GLASSFISH_HOME="${WORKSPACE}/glassfish6" |
| export CLASSPATH="${GLASSFISH_HOME}/javadb" |
| export S1AS_HOME="${GLASSFISH_HOME}/glassfish" |
| |
| # These values can be preset by the caller |
| export PORT_ADMIN="${PORT_ADMIN=4848}" |
| export PORT_HTTP="${PORT_HTTP=8080}" |
| export PORT_HTTPS="${PORT_HTTPS=8181}" |
| if [ ! -f "${WORKSPACE}/bundles/glassfish.zip" ]; then |
| install_glassfish; |
| fi |
| install_jacoco; |
| |
| rm -rf "${GLASSFISH_HOME}" |
| rm -f ./appserver/tests/appserv-tests/test_resultsValid.xml |
| rm -f ./appserver/tests/appserv-tests/test_results.xml |
| ./appserver/tests/gftest.sh run_test "${test}" |
| |