#!/bin/bash
# -----------------------------------------------------------------------------
# Executes a command on the given ONOS instance and matches the output
# to the passed one.
# First argument is the IP address of the machine to run the command on,
# then you pass the command and it's arguments if needed, then --expect and
# after it the string of what the output should be.
# Example:
# onos-execute-expect 1.1.1.1 fooCommand fooParamenter --expect fooOutputString
# -----------------------------------------------------------------------------

[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
. $ONOS_ROOT/tools/build/envDefaults


aux=/tmp/stc/stc-$$.log
trap "rm -f $aux 2>/dev/null" EXIT
ip=$1
cmd=""
for a in ${*:2}; do shift; if [ "$a" = "--expect" ]; then break; fi; cmd="$cmd $a"; done
expect="${@: -1}"
onos $ip $cmd > $aux
cat $aux
grep -q $expect $aux && echo "expected value found" && exit 0
exit 1


