| #!/bin/bash -ex |
| # |
| # Copyright (c) 2017, 2018 Oracle 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 |
| # |
| |
| test_run(){ |
| if [[ ${1} = "deployment_cluster_all" ]]; then |
| DEPL_TARGET=CLUSTER |
| export DEPL_TARGET |
| fi |
| |
| export HUDSON=true |
| export ROOT=`pwd` |
| |
| # The first command-line argument is the (optional) predecessor job from which |
| # to get the revision under test and the glassfish.zip file to expand. |
| # Default: gf-trunk-build-continuous |
| |
| if [ -x "/usr/bin/cygpath" ] |
| then |
| ROOT=`cygpath -d ${ROOT}` |
| echo "Windows ROOT: ${ROOT}" |
| export CYGWIN=nontsec |
| fi |
| antTarget="all-ee" |
| if [ -z "${DEPL_TARGET}" ] |
| then |
| ${S1AS_HOME}/bin/asadmin start-domain |
| antTarget="all" |
| fi |
| # Get rid of any lingering password file from an earlier run |
| rm ~/.asadminpass || true |
| |
| time ant ${antTarget} | tee ${TEST_RUN_LOG} |
| antStatus=${?} |
| # Copy the report to $APS_HOME |
| cp tests-results.xml ${APS_HOME}/tests-results.xml |
| cp results.html ${APS_HOME}/test_results.html |
| |
| if [ -z "${DEPL_TARGET}" ] |
| then |
| ${S1AS_HOME}/bin/asadmin stop-domain |
| fi |
| if [[ ${1} = "deployment_cluster_all" ]]; then |
| cp -r ${APS_HOME}/devtests/deployment/server-logs/ ${WORKSPACE}/results/ |
| fi |
| echo DEPL_TARGET is ${DEPL_TARGET} |
| } |
| |
| generate_junit_report_deployment(){ |
| printf "\n%s \n\n" "===== GENERATE JUNIT REPORT =====" |
| TD=${APS_HOME}/tests-results.xml |
| JUD=${APS_HOME}/test_results_junit.xml |
| TESTSUITE_NAME=${1} |
| |
| cat ${TD} | ${AWK} -v suitename=${TESTSUITE_NAME} ' |
| BEGIN{ |
| RS="</test>"; |
| FS="="; |
| print "<testsuites>"; |
| print " <testsuite>"; |
| id=0; |
| } |
| { |
| if ( NF > 1 ) { |
| print " <testcase classname=\"DeploymentTest\" name=\"" \ |
| substr($2,2,index($2,"description")-4) \ |
| id \ |
| "\">" |
| |
| # searching for FAILED in field 4,5,6 |
| # if not found, test PASSED |
| failure=1 |
| match($6,"FAILED") |
| if( RLENGTH == -1) { |
| match($5,"FAILED") |
| if( RLENGTH == -1) { |
| match($4,"FAILED") |
| if( RLENGTH == -1) { |
| failure=0; |
| } |
| } |
| } |
| if( failure == 1 ) { |
| print " <failure type=\"testfailure\"/>" |
| } |
| |
| print " </testcase>" |
| id++; |
| } |
| } |
| END{ |
| print " </testsuite>"; |
| print "</testsuites>"; |
| }' > ${JUD} |
| cp ${JUD} ${WORKSPACE}/results/junitreports |
| } |
| |
| run_test_id(){ |
| unzip_test_resources ${WORKSPACE}/bundles/glassfish.zip |
| cd `dirname ${0}` |
| test_init |
| test_run ${1} |
| check_successful_run |
| generate_junit_report_deployment ${1} |
| change_junit_report_class_names |
| } |
| |
| list_test_ids(){ |
| echo deployment_all deployment_cluster_all |
| } |
| |
| OPT=${1} |
| TEST_ID=${2} |
| source `dirname ${0}`/../../../common_test.sh |
| |
| case ${OPT} in |
| list_test_ids ) |
| list_test_ids;; |
| run_test_id ) |
| trap "copy_test_artifacts ${TEST_ID}" EXIT |
| run_test_id ${TEST_ID} ;; |
| esac |