blob: ab33823bdc2736046a4d4795ed05a80d3aee2d47 [file] [log] [blame]
#!/bin/bash
#-------------------------------------------------------------------------------
# Loops the System Test Coordinator invocations while success/until failure.
#-------------------------------------------------------------------------------
count=0
unset doSetup doTeardown
# Scan arguments for user/password or other options...
while getopts c:st o; do
case "$o" in
c) count=$OPTARG;;
s) doSetup=true;;
t) toTeardown=true;;
esac
done
let OPC=$OPTIND-1
shift $OPC
if [ -n "$doSetup" ]; then
printf "Setting up...\n"
stc setup || exit 1
fi
# Iterate the specified number of times, or indefinitely if count not given
let run=1
while [ $count -le 0 -o $run -le $count ]; do
export stcTitle="STC Run #$run; "
printf "Starting run %d...\n" $run
# If we're running on a borrowed cell, refresh the reservation
[ "$ONOS_CELL" = "borrow" ] && onos-cell $ONOS_CELL 120 >/dev/null
# Iterate over all listed scenarios
let status=0
for scenario in "${@:-smoke}"; do
if [[ $scenario =~ ^[0-9]*$ ]]; then
printf "Waiting %d seconds...\n" $scenario
sleep $scenario
else
printf "Running scenario %s...\n" $scenario
stc $scenario || let status=status+$?
fi
[ $status -ne 0 ] && break
done
printf "Finished run %d...\n" $run
[ $status -ne 0 ] && exit $status
let run=run+1
done
if [ -n "$doTeardown" ]; then
printf "Tearing down...\n"
stc teardown || exit 1
fi