#!/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

onos ${1:-$OCI} "onos:apps -s -a" > $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
diff $aux.1 $aux.2
