| #!/bin/bash |
| |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to you under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts" |
| . ${TOOLDIR}/env |
| |
| # LOCAL_EXEC="true" # Set to 'true' to execute on THIS host only!; i.e. do not loop over machines in $1. |
| LOCAL_EXEC="false" # Set to NOT 'true' to execute on all machines in $1. |
| RSH_SSH=ssh # Set to rsh or ssh. |
| |
| if [ "$1" == "" ] |
| then |
| echo "Usage: $0 fileListingHostsToRunTests" |
| exit |
| fi |
| |
| SANDBOX=`basename ${DERBYDIR}` |
| if [ ! -e ${BUILDLOGDIR}/buildOK ] |
| then |
| echo "Derby was NOT (re)built:" |
| echo " ${BUILDLOGDIR}/buildOK does not exist." |
| ### UNCOMMENT TO SEND MAIL. ${TOOLDIR}/textMail "${SANDBOX} was NOT (re)built" "${MAILTOINT}" "${UPDATELOGDIR}/update.out ${BUILDLOGDIR}/lastBuildInfo" |
| exit |
| fi |
| |
| HOSTLISTFILE=$1 |
| echo "Execute runAllTests on all hosts listed in ${HOSTLISTFILE}" |
| if [ ! -e $HOSTLISTFILE ] |
| then |
| echo "$HOSTLISTFILE does not exist." |
| exit |
| fi |
| |
| if [ "${DERBYDIR}" = "" ] |
| then |
| echo "DERBYDIR must be defined as it is sent to startDerbyTests" |
| exit |
| fi |
| if [ ! -e ${DERBYDIR} ] |
| then |
| echo "Nonexisting DERBYDIR: ${DERBYDIR} was given to $0." |
| exit |
| fi |
| |
| if [ "${LOCAL_EXEC}" != "true" ] |
| then |
| HOSTLIST=`grep -v "^#" ${HOSTLISTFILE}` |
| for HOST in ${HOSTLIST} |
| do |
| if [ "${HOST}" == "exit" ] |
| then |
| echo "Exit: found ${HOST}" |
| exit |
| fi |
| |
| echo "Host: ${HOST}" |
| echo "${RSH_SSH} ${HOST} \"${TOOLDIR}/startDerbyTests ${DERBYDIR}\"" |
| ${RSH_SSH} ${HOST} "${TOOLDIR}/startDerbyTests ${DERBYDIR}" |
| done |
| else |
| ${TOOLDIR}/startDerbyTests ${DERBYDIR} |
| fi |
| |
| # We can't handle win/cygwin via 'rsh host cmd' so must use a flag which |
| # is detected by a looping script on the cygwin host(s): |
| # touch ${TESTLOGDIR}/ReadyToStartOnCygWin |
| touch ${DERBYDIR}/testing/ReadyToStartOnCygWin |
| # To be detected by ${TOOLDIR}/loopToDetectAndStartDerbyTestsOnCygwin |