Fixed a failed unit test and added more to the setup scenario.

Change-Id: I28ee6627834f8964d5d06756afb44e6213c8afaa
diff --git a/tools/test/bin/onos-check-apps b/tools/test/bin/onos-check-apps
new file mode 100755
index 0000000..03df7dc
--- /dev/null
+++ b/tools/test/bin/onos-check-apps
@@ -0,0 +1,20 @@
+#!/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
diff --git a/tools/test/bin/onos-check-components b/tools/test/bin/onos-check-components
new file mode 100755
index 0000000..38fb9a3
--- /dev/null
+++ b/tools/test/bin/onos-check-components
@@ -0,0 +1,11 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Checks whether all ONOS components are either ACTIVE or DISABLED.
+# -----------------------------------------------------------------------------
+
+aux=/tmp/stc-$$.log
+trap "rm -f $aux 2>/dev/null" EXIT
+
+onos ${1:-$OCI} scr:list > $aux
+cat $aux
+grep -q UNSATISFIED $aux && exit 1 || exit 0
diff --git a/tools/test/scenarios/prerequisites.xml b/tools/test/scenarios/prerequisites.xml
index 55d8c0d..650aa41 100644
--- a/tools/test/scenarios/prerequisites.xml
+++ b/tools/test/scenarios/prerequisites.xml
@@ -17,6 +17,7 @@
     <group name="Prerequisites">
         <step name="Check-Environment" exec="test -n ${ONOS_ROOT} -a -n ${ONOS_NIC} -a -n ${OC1}"/>
         <step name="Check-ONOS-Bits" exec="onos-check-bits"/>
+
         <parallel var="${OC#}">
             <step name="Check-Passwordless-Login-${#}"
                   exec="ssh -n -o ConnectTimeout=3 -o PasswordAuthentication=no sdn@${OC#} date"/>
diff --git a/tools/test/scenarios/setup.xml b/tools/test/scenarios/setup.xml
index bd12216..d43e77c 100644
--- a/tools/test/scenarios/setup.xml
+++ b/tools/test/scenarios/setup.xml
@@ -16,14 +16,22 @@
 <scenario name="setup" description="ONOS cluster setup">
     <group name="Setup">
         <step name="Push-Bits" exec="onos-push-bits-through-proxy" if="${OCT}"/>
+
         <parallel var="${OC#}">
             <step name="Uninstall-${#}" exec="onos-uninstall ${OC#}"/>
+
             <step name="Install-${#}" exec="onos-install ${OC#}"
                   requires="Uninstall-${#},Push-Bits"/>
+
             <step name="Wait-for-Start-${#}" exec="onos-wait-for-start ${OC#}"
                   requires="Install-${#}"/>
+
             <step name="Check-Logs-${#}" exec="onos-check-logs ${OC#}"
                   requires="-Wait-for-Start-${#}"/>
+            <step name="Check-Components-${#}" exec="onos-check-components ${OC#}"
+                  requires="-Wait-for-Start-${#}"/>
+            <step name="Check-Apps-${#}" exec="onos-check-apps ${OC#}"
+                  requires="-Wait-for-Start-${#}"/>
         </parallel>
     </group>
 </scenario>
diff --git a/utils/stc/src/test/java/org/onlab/stc/CompilerTest.java b/utils/stc/src/test/java/org/onlab/stc/CompilerTest.java
index 7346b0a..de6fa0e 100644
--- a/utils/stc/src/test/java/org/onlab/stc/CompilerTest.java
+++ b/utils/stc/src/test/java/org/onlab/stc/CompilerTest.java
@@ -48,9 +48,9 @@
 
         System.setProperty("prop.foo", "Foobar");
         System.setProperty("prop.bar", "Barfoo");
-        System.setProperty("OC1", "1.2.3.1");
-        System.setProperty("OC2", "1.2.3.2");
-        System.setProperty("OC3", "1.2.3.3");
+        System.setProperty("TOC1", "1.2.3.1");
+        System.setProperty("TOC2", "1.2.3.2");
+        System.setProperty("TOC3", "1.2.3.3");
     }
 
     public static FileInputStream getStream(String name) throws FileNotFoundException {
diff --git a/utils/stc/src/test/resources/org/onlab/stc/scenario.xml b/utils/stc/src/test/resources/org/onlab/stc/scenario.xml
index 3a566fd..3fd35c2 100644
--- a/utils/stc/src/test/resources/org/onlab/stc/scenario.xml
+++ b/utils/stc/src/test/resources/org/onlab/stc/scenario.xml
@@ -38,8 +38,8 @@
 
     <dependency name="maybe" requires="yo"/>
 
-    <parallel var="${OC#}" requires="alpha">
-        <step name="ping-${#}" exec="asdads ${OC#}"/>
+    <parallel var="${TOC#}" requires="alpha">
+        <step name="ping-${#}" exec="asdads ${TOC#}"/>
         <step name="pong-${#}" exec="asdads"/>
         <step name="ding-${#}" exec="asdads" requires="ping-${#},pong-${#}"/>
         <dependency name="maybe" requires="ding-${#}"/>