blob: 7275159899bb7f95650c079b4005194a523dd9b5 [file] [log] [blame]
#!/bin/bash -ex
#
# Copyright (c) 2017, 2020 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
#
copy_ql_results(){
if [[ ${1} = "ql_gf_web_profile_all" || ${1} = "ql_gf_full_profile_all" || "ql_gf_embedded_profile_all" = ${1} ]]; then
tar -cf ${WORKSPACE}/results/domainArchive.tar.gz ${WORKSPACE}/glassfish7/glassfish/domains
cp ${WORKSPACE}/glassfish7/glassfish/domains/domain1/logs/server.log* ${WORKSPACE}/results/ || true
cp -r ${WORKSPACE}/appserver/tests/quicklook/test-output/* ${WORKSPACE}/results/
cp ${WORKSPACE}/appserver/tests/quicklook/test-output/TESTS-TestSuites.xml ${WORKSPACE}/results/junitreports/test_results_junit.xml
cp ${WORKSPACE}/appserver/tests/quicklook/quicklook_summary.txt ${WORKSPACE}/results || true
else
cp ${WORKSPACE}/nucleus/domains/domain1/logs/server.log* ${WORKSPACE}/results
fi
cp ${TEST_RUN_LOG} ${WORKSPACE}/results/
tar -cf ${WORKSPACE}/${1}-results.tar.gz ${WORKSPACE}/results
change_junit_report_class_names
}
run_test_id(){
if [[ ${1} = "ql_gf_full_profile_all" ]]; then
# Run quick look full profile tests using the full glassfish distribution (GD) build
unzip_test_resources ${WORKSPACE}/bundles/glassfish.zip
cd ${WORKSPACE}/appserver/tests/quicklook/
mvn -Dglassfish.home=${S1AS_HOME} -Ptest_gd_security,report test | tee ${TEST_RUN_LOG}
elif [[ ${1} = "ql_gf_nucleus_all" || ${1} = "nucleus_admin_all" ]]; then
# Run quick look nucleus tests using the nucleus build
unzip_test_resources ${WORKSPACE}/bundles/nucleus-new.zip
if [[ ${1} = "ql_gf_nucleus_all" ]]; then
cd ${WORKSPACE}/nucleus/tests/quicklook
elif [[ ${1} = "nucleus_admin_all" ]]; then
cd ${WORKSPACE}/nucleus/tests/admin
fi
mvn -Dmaven.test.failure.ignore=true -Dnucleus.home=${WORKSPACE}/nucleus clean test | tee ${TEST_RUN_LOG}
if [[ ${1} = "ql_gf_nucleus_all" ]]; then
merge_junit_xmls ${WORKSPACE}/nucleus/tests/quicklook/target/surefire-reports/junitreports
elif [[ ${1} = "nucleus_admin_all" ]]; then
merge_junit_xmls ${WORKSPACE}/nucleus/tests/admin/target/surefire-reports/junitreports
fi
elif [[ ${1} = "ql_gf_web_profile_all" || $1 = "ql_gf_embedded_profile_all" ]]; then
# Run quick look EE web profile tests using the web profile glassfish distribution (WD, Web Distribution) build
unzip_test_resources ${WORKSPACE}/bundles/web.zip
cd ${WORKSPACE}/appserver/tests/quicklook/
if [[ ${1} = "ql_gf_web_profile_all" ]]; then
mvn -Dglassfish.home=${S1AS_HOME} -Ptest_wd_security,report test | tee ${TEST_RUN_LOG}
elif [[ ${1} = "ql_gf_embedded_profile_all" ]]; then
mvn -Dglassfish.home=${S1AS_HOME} -Ptest_em,report test | tee ${TEST_RUN_LOG}
fi
else
echo "Invalid Test Id!"
exit 1
fi
}
merge_junit_xmls(){
JUD_DIR=${1}
JUD=${WORKSPACE}/results/junitreports/test_results_junit.xml
rm -f ${JUD} || true
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" >> ${JUD}
echo "<testsuites>" >> ${JUD}
find ${JUD_DIR} -name "*.xml" -type f -exec cat '{}' \; | ${SED} 's/<?xml version=\"1.0\" encoding=\"UTF-8\"?>//g' >> ${JUD}
echo "</testsuites>" >> ${JUD}
}
list_test_ids(){
echo ql_gf_full_profile_all ql_gf_nucleus_all ql_gf_web_profile_all ql_gf_embedded_profile_all nucleus_admin_all
}
OPT=${1}
TEST_ID=${2}
source `dirname ${0}`/../common_test.sh
mkdir -p ${WORKSPACE}/results/junitreports
case ${OPT} in
list_test_ids )
list_test_ids;;
run_test_id )
trap "copy_ql_results ${TEST_ID}" EXIT
run_test_id ${TEST_ID} ;;
esac