stw 1.28 KB
#!/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
    for scenario in "${@:-smoke}"; do
        printf "Running scenario %s...\n" $scenario
        stc $scenario
    done
    status=$?

    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