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

. $ONOS_ROOT/tools/build/envDefaults

VER=${STC_VERSION:-2.5}
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}

if [ $scenario != "-?" -a $scenario != "-h" -a $scenario != "--help" ]; then
    [ ! -f $scenario ] && scenario=$SCENARIOS/$scenario
    [ ! -f $scenario ] && scenario=$scenario.xml
    [ ! -f $scenario ] && echo "Scenario $scenario file not found" && exit 1
fi

# 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 "$@"
