|  | #!/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 |