From 13d05bc8458758ee39cb829098241e89616717ee Mon Sep 17 00:00:00 2001 From: Ashlee Young Date: Wed, 9 Sep 2015 22:15:21 -0700 Subject: ONOS checkin based on commit tag e796610b1f721d02f9b0e213cf6f7790c10ecd60 Change-Id: Ife8810491034fe7becdba75dda20de4267bd15cd --- framework/src/onos/tools/test/bin/onos-check-apps | 34 +++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 framework/src/onos/tools/test/bin/onos-check-apps (limited to 'framework/src/onos/tools/test/bin/onos-check-apps') diff --git a/framework/src/onos/tools/test/bin/onos-check-apps b/framework/src/onos/tools/test/bin/onos-check-apps new file mode 100755 index 00000000..dfd6b4ef --- /dev/null +++ b/framework/src/onos/tools/test/bin/onos-check-apps @@ -0,0 +1,34 @@ +#!/bin/bash +# ----------------------------------------------------------------------------- +# Checks whether all and only the ONOS apps configured in ONOS_APPS are active. +# ----------------------------------------------------------------------------- + +[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1 +. $ONOS_ROOT/tools/build/envDefaults + +aux=/tmp/stc-$$.log +trap "rm -f $aux $aux.1 $aux.2 2>/dev/null" EXIT + +for attempt in {1..3}; do + onos ${1:-$OCI} "onos:apps -s -a" | grep -v /bin/client > $aux + cat $aux + + # Normalize the installed apps + cut -c7- $aux | grep -v '/bin/client' | cut -d\ -f1 | sort > $aux.1 + + # Normalize the expected apps + apps=${2:-$ONOS_APPS} + apps=${apps:-drivers,openflow} + (for app in ${apps//,/ }; do echo org.onosproject.$app; done) | sort > $aux.2 + + # Check for differences + case ${3:-equals} in + equals) diff $aux.1 $aux.2;; + includes) [ $(egrep -c -f $aux.2 $aux.1) -eq $(wc -l $aux.2 | sed "s|$aux.2||g") ];; + excludes) ! egrep -f $aux.2 $aux.1;; + esac + + [ $? -eq 0 ] && exit 0 || sleep 1 +done + +exit 1; -- cgit 1.2.3-korg