#!/bin/bash
#-------------------------------------------------------------------------------
#   System Test Coordinator
#-------------------------------------------------------------------------------

. $ONOS_ROOT/tools/build/envDefaults

VER=${STC_VERSION:-2.3}
MVN_JAR=org/onosproject/onos-stc/$VER/onos-stc-$VER.jar
JAR=${MAVEN_REPO:-$HOME/.m2/repository}/$MVN_JAR
SCENARIOS=$ONOS_ROOT/tools/test/scenarios

# Download the STC binary if needed
if [ ! -f $JAR ]; then
    printf "Downloading STC binary..."
    mkdir -p /tmp/stc $(dirname $JAR)
    curl http://repo1.maven.org/maven2/$MVN_JAR > $JAR
    [ -f $JAR ] && printf "Done.\n"
fi

DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=y"

scenario=${1:-smoke}

[ ! -f $scenario ] && scenario=$SCENARIOS/$scenario
[ ! -f $scenario ] && scenario=$scenario.xml
[ ! -f $scenario ] && echo "Scenario $scenario file not found" && exit 1

# Remove the test name from the list of parameters, if one is specified
[ $# -ge 1 ] && shift

# If stcColor is not set, we will enable color if this is an interactive session
[ -t 1 ] && interactive=true || interactive=false
[ -t 1 ] && notInteractive=false || notInteractive=true

# Run stc
[ -z "$stcDebug" ] && DEBUG_OPTS=""
stcTitle=${stcTitle:-} stcColor=${stcColor:-$interactive} stcDumpLogs=${stcDumpLogs:-$notInteractive} \
    java $DEBUG_OPTS -jar $JAR $scenario "$@"
