aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/test/bin/onos-check-apps
diff options
context:
space:
mode:
authorAshlee Young <ashlee@onosfw.com>2015-09-09 22:15:21 -0700
committerAshlee Young <ashlee@onosfw.com>2015-09-09 22:15:21 -0700
commit13d05bc8458758ee39cb829098241e89616717ee (patch)
tree22a4d1ce65f15952f07a3df5af4b462b4697cb3a /framework/src/onos/tools/test/bin/onos-check-apps
parent6139282e1e93c2322076de4b91b1c85d0bc4a8b3 (diff)
ONOS checkin based on commit tag e796610b1f721d02f9b0e213cf6f7790c10ecd60
Change-Id: Ife8810491034fe7becdba75dda20de4267bd15cd
Diffstat (limited to 'framework/src/onos/tools/test/bin/onos-check-apps')
-rwxr-xr-xframework/src/onos/tools/test/bin/onos-check-apps34
1 files changed, 34 insertions, 0 deletions
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;