#!/bin/bash
# -----------------------------------------------------------------------------
# Checks whether all and only the ONOS apps configured in ONOS_APPS are active.
# -----------------------------------------------------------------------------

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 | cut -d\  -f1 | sort > $aux.1

# Normalize the expected apps
apps=${ONOS_APPS:-drivers,openflow}
(for app in ${apps//,/ }; do echo org.onosproject.$app; done) | sort > $aux.2

# Check for differences
diff $aux.1 $aux.2
